Vue基础培训.ppt

上传人:飞****9 文档编号:135769647 上传时间:2020-06-18 格式:PPT 页数:21 大小:499KB
返回 下载 相关 举报
Vue基础培训.ppt_第1页
第1页 / 共21页
Vue基础培训.ppt_第2页
第2页 / 共21页
Vue基础培训.ppt_第3页
第3页 / 共21页
Vue基础培训.ppt_第4页
第4页 / 共21页
Vue基础培训.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Vue基础培训.ppt》由会员分享,可在线阅读,更多相关《Vue基础培训.ppt(21页珍藏版)》请在金锄头文库上搜索。

1、目录 1 历史由来2 MVVM模式3 数据驱动和组件式编程4 Vue之HelloWorld 5 生命周期6 从Vue到页面7 Vue组件的重要选项8 Vue常用指令 历史由来尤雨溪谈Vue js 我在Google的工作需要在浏览器上进行大量原型设计 于是我想要尽快获得有形的东西 当时有些项目使用了Angular Angular提供了一些用数据绑定和数据驱动来处理DOM的方法 所以你不必自己碰DOM 它也有一些副作用 就是按照它规定的方式来构建代码 对于当时的场景而言实在是太重了 我想 我可以只把我喜欢的部分从Angular中提出来 建立一个非常轻巧的库 不需要那些额外的逻辑 我也很好奇Angu

2、lar的源码到底是怎么设计的 我最开始只是想着手提取Angular里面很小的功能 如声明式数据绑定 Vue大概就是这么开始的 用过一段时间之后 我感觉我做的东西还有点前途 因为我自己就很喜欢用 于是我花了更多的时间把它封装好 取了一个名字叫做Vue js 2014年2月 我第一次将它作为实际的项目发布在Github上 并把链接发送到了HackerNews上 它就被顶到了首页 然后它在首页待了好几个小时 后来 我写了一篇文章 分享了Vue第一周的使用数据以及我的感受 那是我第一次看见这么多人在Github上为一个项目打星星 我当时一个星期收获了好几百个星星 整个人都激动坏了 原文链接 MVVM模

3、式 MVC模式的意思是 软件可以分成三个部分 各部分之间的通信方式如下 所有通信都是单向的 MVVM模式 MVP模式将Controller改名为Presenter 同时改变了通信方向 1 各部分之间的通信 都是双向的 2 View与Model不发生联系 都通过Presenter传递 3 View非常薄 不部署任何业务逻辑 称为 被动视图 PassiveView 即没有任何主动性 而Presenter非常厚 所有逻辑都部署在那里 MVVM模式 MVVM模式采用双向绑定 data binding View的变动 自动反映在ViewModel 反之亦然 Vue Angular和Ember都采用这种模

4、式 相比于Angular Vue js提供了更加简洁 更易于理解的API 使得我们能够快速地上手并使用Vue js 数据驱动和组件式编程 数据驱动 程序 数据结构 算法 这是每个程序都耳熟能详的一句话 可在前端这里并不纯粹 因为前端需要跟界面打交道 html css并没用被抽象成某种在js中使用的数据结构 充当的更多是界面的一种配置 jquery程序员看待他的方式就一块块的ui 用到的时候再 一下 获取之后修改 整个程序写下来是零零散散的节点操作 一个比较实际的情况就是 在ui控件有联动的时候 如果没有一种机制来管理这些ui之间的修改 那么依赖程序员自己去手动管理这些ui的状态 会让人烦不胜烦

5、 且容易出现bug 总结一下基于操作dom的前端开发方式 拼界面 找到dom节点 修改属性 检测是否有其他影响的节点 根据刚刚修改的dom节点更新自己的状态那么上面的那句话就变成了 前端程序 拼界面 操作ui 算法vue或者angular这些mvvm框架给了前端另一种思路 完全基于数据驱动的编程 如果你之前已经习惯了用jQuery操作DOM 学习Vue js时请先抛开手动操作DOM的思维 因为Vue js是数据驱动的 你无需手动操作DOM Vue采用一种数据绑定的方式 自动绑定dom节点的属性 这样就把你从操作dom节点的繁琐过程中解脱出来了 你只要专注于数据的状态 ui更新的事情你不需要去管

6、了 不管是样式还是内容 可见性还是切换class 框架帮你把关注点从传统的dom操作转移到了数据 回归编程的本质 程序 数据结构 算法 这也是mvvm框架最大的思路上的突破 组件式编程 这个理念不是来源于vue 把web组件式开发发扬光大的应该是react了 组件开发是一种朴素的开发思想 分而治之 大型系统拆分成一个个的小模块小组件 分配给不同的人 额外的好处是顺便能复用这个组件 理解组件的思想可以类比函数 一个函数包含哪些东西呢 1 形参2 局部变量3 函数名4 返回值那对应到vue中又是什么呢 Vue之HelloWorld Vue之HelloWorld 使用Vue的过程就是定义MVVM各个

7、组成部分的过程的过程 1 定义View2 定义Model3 创建一个Vue实例或 ViewModel 它用于连接View和Model在创建Vue实例时 需要传入一个选项对象 选项对象可以包含数据 挂载元素 方法 模生命周期钩子等等 在这个示例中 选项对象的el属性指向View el app 表示该Vue实例将挂载到 这个元素 data属性指向Model data exampleData表示我们的Model是exampleData对象 Vue js有多种数据绑定的语法 最基础的形式是文本插值 使用一对大括号语法 在运行时 message 会被数据对象的message属性替换 所以页面上会输出 H

8、elloWorld 生命周期 生命周期 每个Vue实例在被创建之前都要经过一系列的初始化过程 例如 实例需要配置数据观测 dataobserver 编译模版 挂载实例到DOM 然后在数据变化时更新DOM 在这个过程中 实例也会调用一些生命周期钩子 这就给我们提供了执行自定义逻辑的机会 它可以总共分为8个阶段 1 beforeCreate 在实例初始化之后 数据观测 dataobserver 和event watcher事件配置之前被调用 2 created 实例已经创建完成之后被调用 在这一步 实例已完成以下的配置 数据观测 dataobserver 属性和方法的运算 watch event事

9、件回调 然而 挂载阶段还没开始 el属性目前不可见 3 beforeMount 在挂载开始之前被调用 相关的render函数首次被调用 该钩子在服务器端渲染期间不被调用 4 mounted el被新创建的vm el替换 并挂载到实例上去之后调用该钩子 如果root实例挂载了一个文档内元素 当mounted被调用时vm el也在文档内 该钩子在服务器端渲染期间不被调用 5 beforeUpdate 数据更新时调用 发生在虚拟DOM重新渲染和打补丁之前 你可以在这个钩子中进一步地更改状态 这不会触发附加的重渲染过程 该钩子在服务器端渲染期间不被调用 6 updated 由于数据更改导致的虚拟DOM

10、重新渲染和打补丁 在这之后会调用该钩子 当这个钩子被调用时 组件DOM已经更新 所以你现在可以执行依赖于DOM的操作 然而在大多数情况下 你应该避免在此期间更改状态 如果要相应状态改变 通常最好使用计算属性或watcher取而代之 该钩子在服务器端渲染期间不被调用 7 beforeDestroy 实例销毁之前调用 在这一步 实例仍然完全可用 该钩子在服务器端渲染期间不被调用 8 destroyed Vue实例销毁后调用 调用后 Vue实例指示的所有东西都会解绑定 所有的事件监听器会被移除 所有的子实例也会被销毁 该钩子在服务器端渲染期间不被调用 从Vue到页面 从Vue到页面 Vue组件的重要选项 data Vue组件的重要选项 props methods watch computed Vue常用指令 结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号