新書推薦:
《
真谛全集(共6册)
》
售價:NT$
5390.0
《
敦煌通史:魏晋北朝卷
》
售價:NT$
780.0
《
唯美手编16:知性优雅的编织
》
售價:NT$
250.0
《
情绪的惊人力量:跟随内心的指引,掌控情绪,做心想事成的自己
》
售價:NT$
230.0
《
棉的全球史(历史·文化经典译丛)
》
售價:NT$
500.0
《
超越百岁看这本就够了
》
售價:NT$
254.0
《
亚洲戏剧史·南亚卷
》
售價:NT$
653.0
《
中国历代竹器图谱与数字活化
》
售價:NT$
2540.0
|
編輯推薦: |
开发理论与编码实践结合,让你不仅学有所成,更能学以致用!
系统:从点到面讲解,循序渐进,有条有理
深入:以底层筑基实现上层运用,让你知其所以然
实用:提供62个应用案例,以实践检验真理
实战:4种常见类型网站实例,避免纸上谈兵
|
內容簡介: |
本书从Vue框架的基础语法讲起,逐步深入Vue进阶实战,并在后配合项目实战案例,重点演示Vue在项目开发中的一些应用。在系统地讲解Vue的相关知识之余,本书力图使读者更深入地理解Vue项目开发。 本书共分为11章,涵盖的主要内容有前端技术的发展历程、Vue基本介绍、Vue语法、Vue选项、Vue内置组件、Vue项目化、使用Vue开发电商类网站、使用Vue开发企业官网、使用Vue开发移动端资讯类网站、使用Vue开发工具类网站等。 本书内容通俗易懂,案例丰富,实用性强,特别适合Vue的初学者和从业人员阅读,同时适合职业生涯遇到“瓶颈”的前端从业人员和其他编程爱好者阅读。另外,本书也适合作为相关培训机构的教材。
|
關於作者: |
刘汉伟,一线软件工程师,活跃于GitHub等开源社区,接触过许多优秀项目的代码,有丰富的专业知识和开发经验,曾负责并上线多个大型Web项目。2016年起开始在网上发表博客,短时间内各平台累计访问量超过10万人次,深受读者好评,并受邀成为CSDN专业讲师、腾讯云 社区专栏作者。
|
目錄:
|
篇 概念篇——扎根于基础
第1章 引言002
1.1 前端技术的发展 002
1.1.1 从静态走向动态002
1.1.2 从后端走向前端003
1.1.3 从前端走向全端005
1.2 MVVM 族员—Vue.js 008
1.2.1 从MVC到MVVM 008
1.2.2 Vue.js简介009
1.3 Vue与React010
1.3.1 虚拟DOM010
1.3.2 功能性组件011
1.3.3 轻量级—将与核心库无关的业务封装成独立库011
1.3.4 视图模板012
1.3.5 其他013
1.4 Vue与Angular013
1.4.1 模板语法013
1.4.2 脏检测014
1.4.3 双向数据绑定014
1.4.4 学习曲线015
第2章 Vue基本介绍016
2.1 安装和引入 016
2.1.1 如何引入Vue.js016
2.1.2 安装Vue Devtools017
2.2 Vue实例介绍 019
2.2.1 简单实例019
2.2.2 生命周期020
目录
VIII
Vue. js从入门到项目实战(升级版)
2.3 数据响应式原理 024
2.3.1 初识数据链024
2.3.2 函数式编程025
2.3.3 Vue中的数据链026
2.3.4 数据绑定视图027
第3章 Vue语法031
3.1 插值绑定 031
3.1.1 文本插值031
3.1.2 HTML插值 033
3.2 属性绑定 034
3.2.1 指令v-bind034
3.2.2 类名和样式绑定035
3.3 事件绑定 038
3.3.1 指令v-on 038
3.3.2 常见修饰符040
3.3.3 按键修饰符042
3.3.4 组合修饰符043
3.4 双向绑定 045
3.4.1 指令v-model045
3.4.2 v-model与修饰符048
3.4.3 v-model与自定义组件050
3.5 条件渲染和列表渲染 052
3.5.1 指令v-if和v-show 052
3.5.2 指令v-for 054
3.5.3 列表渲染中的key059
第4章 Vue选项060
4.1 常见选项及其用法 060
4.1.1 数据选项及其用法060
IX
目 录
4.1.2 属性选项及其用法065
4.1.3 方法选项及其用法066
4.1.4 计算属性及其用法068
4.1.5 侦听属性及其用法072
4.2 DOM 渲染074
4.2.1 指定被挂载元素074
4.2.2 视图的字符串模板075
4.2.3 渲染函数render076
4.2.4 选项的优先级083
4.3 封装复用 084
4.3.1 自定义指令084
4.3.2 组件的注册088
4.3.3 混入的使用089
第5章 Vue内置组件093
5.1 组件服务 093
5.1.1 动态组件093
5.1.2 插槽095
5.1.3 缓存组件101
5.2 过渡效果 102
5.2.1 单节点的过渡102
5.2.2 多节点的过渡111
第6章 Vue项目化 115
6.1 快速构建项目 115
6.1.1 Vue CLI简介··115
6.1.2 使用Vue CLI构建项目 116
6.1.3 项目目录介绍117
6.2 前端路由 120
6.2.1 前端路由的简单实现121
6.2.2 Vue中的前端路由124
6.3 状态管理 131
6.3.1 对象引用131
6.3.2 状态管理器Vuex 132
6.3.3 在项目中使用Vuex 136
第二篇 实战篇——提升于项目
第7章 打造线上商城(一)144
7.1 项目规划 144
7.1.1 需求分析144
7.1.2 流程分析146
7.2 项目展示 147
7.2.1 首页147
7.2.2 商品详情150
7.2.3 购物车151
7.2.4 订单152
第8章 打造线上商城(二)154
8.1 项目构建 154
8.1.1 目录结构154
8.1.2 Webpack是什么?155
8.1.3 Font Awesome图标库 157
8.2 动态资源和数据 159
8.2.1 关于配置159
8.2.2 动态资源162
8.2.3 动态数据的存储163
8.3 自定义组件 164
8.3.1 幻灯片164
8.3.2 复选框168
第9章 企业官网的建设171
9.1 响应式设计 171
9.1.1 什么是响应式设计的概念171
9.1.2 媒体查询172
9.1.3 JavaScript布局174
9.2 页面开发 175
9.2.1 页面切换175
9.2.2 Swiper组件 176
9.2.3 划分内容区177
9.3 多语种网站的建设 180
9.3.1 将一切纳入配置180
9.3.2 将配置绑定到视图183
第10章 我的掌上新闻187
10.1 应用介绍187
10.1.1 应用首屏187
10.1.2 应用首页188
10.1.3 新闻详情页190
10.1.4 搜索页面191
10.1.5 搜索结果页194
10.2 项目构建194
10.2.1 项目结构194
10.2.2 数据流图198
第11章 SVG 画图板 200
11.1 SVG 简介200
11.1.1 有关SVG的三个问题200
11.1.2 基本图形的使用202
11.1.3 SVG中的渐变203
11.2 项目介绍205
11.2.1 页面介绍205
11.2.2 代码简析209
附录 拓 展 篇
附录A Git入门218
附录B NPM入门221
附录C Webpack入门224
附录D 闭包和对象引用 230
附录E 常见的ECMAScript 6语法 233
|
內容試閱:
|
传统的网站开发一般采用 HTML CSS JS(JavaScript)“三
驾马车”作为技术架构,而 Vue 立足于其上,以模板语法为基础,
以数据绑定和组件化开发为核心,极大地简化了开发流程。使用
Vue 技术栈,开发者甚至可以在几分钟内搭建出一个完整的前端
项目。
本书正是以 Vue 技术栈为核心,由浅入深地进行讲解。在
讲解语法之外,本书还将深入探讨和模拟底层机制的实现,从原
生的角度剖析框架。后,本书将以当前常见的网站类型为例
来讲解。
本书选取有代表性和表达鲜明的示例,以实战示例讲解知
识点,避免将理论架空和复杂化,并力图用浅显易懂的语言进行
论述,限度地使文章内容易于理解。对于一些实践和
优秀模式,本书还将划分小节对其进行专题讲述。与其他同类书
籍相比,本书是从前端从业者的角度来思考和编写的,专注于解
决学习者在职业生涯上遇到的困难和“瓶颈”。
本书的上一版是基于Vue 2.0版本编写的。为了与时俱进,
本版所有内容根据的Vue 3.0版本进行了升级与修改。修改
的内容主要在三个方面。
(1)在知识点讲解中,全面采用了Vue 3.0的概念与理念,
例如,Vue 3.0更多接管了组件的生命周期管理,使开发者能够
更集中精力在业务逻辑的开发上。
(2)在代码中移除了原Vue 2.0版本与Vue 3.0 API不兼容
的调用方式,继续保持本书实例代码在版本中可运行。例如,
Vue 3.0创建Vue App的方式与Vue 2.0不同,使得简单的Vue 2.0
代码都无法在Vue 3.0中运行。
(3)代码风格与习惯根据Vue 3.0的写法全面改写,使读者
学习到的内容与业内标准相一致。例如,Vue 3.0中应用ES 6
的Proxy以支持对象属性拓展,而不再使用defineProperty,
这会影响所有试图进行对象属性拓展的逻辑。
前言
II
Vue. js从入门到项目实战(升级版)
读者对象
本书适合以下读者群体阅读。
(1)Vue 初学者。
初学者往往会发现上手 Vue 并不困难,但在项目开发中不能灵活自如地使用它,接
踵而来的程序漏洞和频繁变动的项目需求会使自己手忙脚乱,甚至想采用熟悉却更复杂
的原生写法进行开发。导致这种现象的根源在于他们对于 Vue 的理解还不够深,对 Vue
中暗藏的“黑魔法”无法敏锐地洞察,甚至仅在学习过语法之后就进行开发,以致在实
战中无法根据具体情况采用合适的方案。本书针对这一情况,特意将这些“黑魔法”
总结出来并模拟实现许多框架底层的机制,深入浅出地对其进行讲解,意在让读者看懂、
会用。
(2)原生或仿原生 JS(JavaScript)的从业者。
Vue 立足于 JS(JavaScript),一切使用 Vue 进行开发的项目均可以使用JS进行开发,
正如一切编程语言都立足于电元信号的正负极,即 01 码,可为什么软件都不采用二进制
编码来进行开发呢?这里面涉及一个成本的问题,这正是影响项目领导者进行决策的关
键因素。Vue 项目与原生 JS 或 jQuery 等仿原生框架项目相比,开发成本要低一些。与此
同时,Vue 项目对从业者的要求要高一些,Vue项目从业者的待遇和前景要好一些。
如果你是一名原生 JS 的应用开发者,不妨学一学 Vue,也许就此突破职业“瓶颈”,
迎来职业生涯又一春天。本书将成为你成长路上的伴侣。
(3)对 MVVM 架构理念感兴趣的爱好者。
从 GitHub 上被标星的次数来看,Vue 从诞生至今,以其强大的特性和低廉的学习成
本后来居上,已经成为受欢迎的MVVM 框架。从各个角度的对比来看,Vue 也比在
MVVM 框架中同样具有代表性的 Angular 和 React 更出色一些,这点在本书中也有论述。
毫无疑问,对 Vue 的学习将有助于了解 MVVM 的架构理念,达到一叶知秋的效果。此外,
本书还将演示多个采用 MVVM 架构的 Web 项目,在实战中践行理论,以呈现出真实
的观感。
(4)大中专院校和培训机构等相关专业的学生。
从本质上来讲,Vue 属于前端技术栈中的一项实用技能,更适合软件工程和计算机
科学与技术等相关专业的学生。但如果想跨专业就业,上手 Vue 也不是一件难事,本书
将带领你快速入门 Vue 的世界,前提是你需要一定的前端基础。
III
前 言
多年以来,程序员的薪资待遇一直为人所羡慕且不断地提升,而前端工程师更是其
中热门。从近年的招聘信息来看,企业对前端从业人员的要求越来越高,“MVVM 框架
(Vue/React/Angular)的使用经验”已成为 Web 应用项目招聘的基本要求。本书将以理
论结合实战的方式,由浅入深地对 Vue 进行讲解,使你脚踏实地,一步一个脚印打好基础,
帮你筑基前端工程师之路。
本书特色
(1)示例为主,剖析为辅,一切尽在运行中,避免将理论架空。
本书中的知识点均配以精心编制、具有代表性的示例,力图将知识点融入示例中进
行讲述,目的在于以示例为驱动演绎知识点,将理论生动形象化,避免大段理论带来的
枯燥感和视野盲区。在由浅入深地讲述一套知识体系时,笔者将以同一示例为原型,不
断对其进行丰富和变换,绝不会引入新的示例代码以增添读者的负担。此外,这些示例
均是独立可运行的,读者完全可以在模仿和拓展中解决阅读时产生的疑惑。
(2)理论与实践结合,在理论中洞察,在实践中感悟。
本书的前6章内容重在讲解 Vue 的知识体系,力图使读者达到学有所知、学有所感
的地步,使读者在接触到陌生的 Vue 代码片段时,能够知其优劣;后5章内容以常见的
网站类型为例,展示了 Vue 在项目开发中的运用,这些网站包括电商类网站(PC 端)、
企业官网(兼容 PC 和移动端)、资讯类网站(移动端)和工具类网站(PC 端)。
以理论指导实践,以实践检验和丰富理论,这是一个螺旋上升的过程,也是人们认
知新事物的正确方法。笔者希望以理论与实践相结合的方式,避免纸上谈兵,使读者不
仅能够学有所知、学有所感,更能够学以致用。
(3)多年经验和心得,大型项目的实践和设计模式。
笔者一直活跃于 GitHub 等开源社区,接触过国内外许多优秀项目的源码,并以软件
工程的专业知识不断检验和更新自己的认知。在本书的创作过程中,笔者会将一些
实践和设计模式应用于示例和项目的开发中。对于一些常用的实践和模式,笔者还将划
分小节对其进行专题讲述。在讲解 Vue 之外,笔者希望这本书能够让你的编程境界有所
提升。
本书愿景
从一无所知到略有心得,笔者也遇到过许多困难,借鉴过许多前辈的经验,也希望
能够将自己的知识和心得分享出去,给走在路上的人照亮一段旅程。
本书从 Vue 的基础语法入手,逐步深入进阶特性,后选取较具代表性的网站类型
进行项目实战,其中穿插着各种实践的讲解并模拟框架底层机制的实现,力图使读
者在理论学习中知其全貌,在实战中融会贯通。
希望这本书能够给你带来一定的收获和启发,在职业生涯上助你一臂之力。
本书学前基础
Vue 立足于 JS,这意味着你在学习本书之前要具备扎实的 JS 基础,除了会用基本
的关键字和语法结构外,还需要掌握 JS 中的事件机制、DOM 编程、闭包、对象引用和
一些内置对象的常用方法等内容。当然,笔者也会在书中对这些内容进行简单的介绍,
以确保不会对 Vue 的学习造成障碍。不过,作为一本前端技术的进阶用书,编程境界越高,
体会到的也就越多。
除了具备扎实的 JS 基础外,你还需要掌握基本的 CSS 和 HTML 5 用法,这些是组
件化开发中必不可少的内容。
在项目实战中,笔者将会使用一些 CSS 和 HTML 5 的高级特性或引入一些第三方组
件库,缺乏相关开发经验的读者也许会对此感到陌生,不过也不必担心,笔者会对这些
内容进行详细讲解。当然,它们也并不难于习得。
本书内容及体系结构
本书共分为 11 章,其中第 1 ~ 6 章属于概念篇,用于描述理论体系;第7 ~ 11章
属于实战篇,用于演示实战项目。下面分别介绍这 11 章的内容。
第 1 章介绍 Vue 的发展历程、因果关系,这部分内容并不影响你对技术的掌握,如
果对此没有兴趣,可以跳过这部分内容。
第 2 章首先介绍如何在项目中引入 Vue,这是使用 Vue 的起点所在;之后介绍 Vue
实例和实例的生命周期并主题化讲解 Vue 中的数据链和数据绑定原理。了解这些将会使
你在项目开发中大受裨益。
第 3 章介绍 Vue 中的插值绑定和常见指令的用法,这是 Vue 学习中的重点部分。
第 4 章讲述了三个方面的选项。其中,有关数据和方法的选项是 Vue 学习中的重点
部分,掌握这些和第 3 章的内容足以让你构建一个完整的 Vue 应用;有关DOM 渲染的
选项在本书的实战章节中没有主动用到,这些选项是否能派上用场取决于你所在项目的
开发方式;有关封装复用的选项属于 Vue 进阶特性,学习难度相对较大,学好这些将使
你的代码结构更加优雅且易于维护,从而使你在面对复杂功能和频繁的需求变动时游刃
有余。
第 5 章讲述了 Vue内置的一些组件,这些组件封装了一些功能,用好这些将使开发
变得更加简单。
第 6 章讲述了 Vue 技术栈中的其他成员,包括前端路由(Vue Router)、状态管理
器(Vuex)和项目快速构建工具(Vue CLI),这些都将服务于Vue 项目的开发。
从第 7 章开始,本书进入实战章节。
第 7 章和第 8 章演示了电商类网站的开发,涉及的内容还包括打包工具 Webpack、
字体图标库 Font Awesome 和缓存对象 localStorage。
第 9 章演示了企业官网的开发,涉及的内容还包括响应式设计、翻页组件 Swiper 和
网站多语的配置。
第 10 章演示了资讯类网站的开发,涉及的内容还包括移动端应用的开发。
第 11 章演示了工具类网站的开发,涉及的内容还包括可伸缩矢量图形 SVG。
本书学习建议
初次接触 Vue 的读者好能耐心将本书读完,除了学会使用 Vue外, 你的编程境界
也会有所提高。
如果你急于应聘要求具备 Vue 使用经验的岗位,就需要掌握第 3 章和第 4 章中有关
数据和方法的选项,并对第 4 章中有关封装复用和第 5 章、第 6 章的内容有所了解,之
后快速进入实战,查看 4 个 Web 项目的源码和演示。在 Vue 的深水区游泳,还不至于窒息。
如果你喜欢听故事,不妨读一下第 1 章,毕竟在日后的工作中能接触到的代码五花
八门,能对这些代码的年代特征形成基本的认识,也是不错的。
本书的知识点均配以示例,希望通过演示示例的方式使复杂和空洞的理论变得形象
起来,这些示例的代码将随书附赠。希望同学们在学习时不要干嚼文字,对于不理解的
地方一定要运行代码,空看十遍不如上手一试。
在后面的实战章节中,本书只摘取了部分具有代表性的代码和流程进行讲解,逻辑
结构较为抽象,建议读者先运行项目,对项目内容有一个大致的了解,之后参照项目源
码进行学习。
辅助学习资料
●本书源代码
●本书辅助视频教程
●本书配套课件
以上内容,我们将存储在云端并提供下载链接(或二维码),具体请见本书封底。
致谢
其实每一个项目都不是一蹴而就的,一开始的计划总是随着局势(团队领导者的想法、
市场变动、客户需求等)的变化被不断地修改,项目总是在一次次试错的过程中不断地
成长和成熟。在反复地优化和重构后,项目才有了终的模样。其实,人的一生也是如此,
我们总是在不停地遇到困难,不停地追寻答案,借鉴别人的经验和心得,借助前辈们踏
平的道路,才走到了现在的位置。过去,我常常在想,“为往圣继绝学,呵,这是多么
伟大的志向”,然而事实上,我们每个人都在做着这件事。人类社会现有的文明也绝非
少数人的功劳,这来自一代代人的传承。
这里,首先要感谢 Vue 团队的开源精神,他们的无私奉献使我们在项目开发时有了
更多和更好的技术选择,同时也促成了本书的编写。
感谢本书的所有编校人员,在你们的支持和帮助下,这本书才有了更高的质量。
后感谢我的家人和同事,是他们的支持给了我充足的空间,使我可以自由进行创作。
作 者
2021年12月
|
|