[置顶] Vue的核心思想
2017-01-12 10:31
190 查看
1.数据驱动:
(1).DOM是数据的一种自然映射,手动改变DOM非常麻烦使用vue.js之后,只需要改变数据,通过改变Directives指令,当数据发生变化,会通过数据指令去修改对应的DOM
(2).Vue.js还会对事件进行一定的监听,当我们改变视图(view)的时候通过DOM Listeners来改变数据
通过以上两点就实现了数据的双向绑定
数据响应原理
在一份数据a.b在一个vue实例化的过程中会给ES5中的obj.Dependcies的属性添加一个getter 和 setter,同时vue.js会对模板进行编译,生成一个指令对象(右边那个黄色的就是一个v-text=“a.b”的指令),每一个指令对象都会关联一个Watcher(中间那个蓝色的),对指令对应的表达式做对应的求值的时候就会触发了getter,就会吧依赖升级到Watcher,当我们再次改变了a.b(在黄色那里改变)的值的时候就会触发到setter,会通知到对应的Watcher,然后Watcher再次对a.b求值,计算对比新旧值,当发现值改变Watch就会通知到指令,调用指令Update的方法,由于指令是对DOM的封装所以,就会调用原生DOM的方法去更新视图
2.组件化
组件化目的是扩展HTML元素,封装可重用的代码
右边是我们的可视化页面
在vue中每一个组件对应一个view的Model,最终生成右边那个树
组件的设计原则
页面上每一个独立的可视/可交互区域视为一个组件
每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护
展示面不过是组件的容器,组件可以嵌套自由组合形成完整的页面
(1).DOM是数据的一种自然映射,手动改变DOM非常麻烦使用vue.js之后,只需要改变数据,通过改变Directives指令,当数据发生变化,会通过数据指令去修改对应的DOM
(2).Vue.js还会对事件进行一定的监听,当我们改变视图(view)的时候通过DOM Listeners来改变数据
通过以上两点就实现了数据的双向绑定
数据响应原理
在一份数据a.b在一个vue实例化的过程中会给ES5中的obj.Dependcies的属性添加一个getter 和 setter,同时vue.js会对模板进行编译,生成一个指令对象(右边那个黄色的就是一个v-text=“a.b”的指令),每一个指令对象都会关联一个Watcher(中间那个蓝色的),对指令对应的表达式做对应的求值的时候就会触发了getter,就会吧依赖升级到Watcher,当我们再次改变了a.b(在黄色那里改变)的值的时候就会触发到setter,会通知到对应的Watcher,然后Watcher再次对a.b求值,计算对比新旧值,当发现值改变Watch就会通知到指令,调用指令Update的方法,由于指令是对DOM的封装所以,就会调用原生DOM的方法去更新视图
2.组件化
组件化目的是扩展HTML元素,封装可重用的代码
右边是我们的可视化页面
在vue中每一个组件对应一个view的Model,最终生成右边那个树
组件的设计原则
页面上每一个独立的可视/可交互区域视为一个组件
每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护
展示面不过是组件的容器,组件可以嵌套自由组合形成完整的页面
相关文章推荐
- Vue.js核心思想
- Vue——核心思想
- web 前端MVC理念的核心思想
- 用简单的实例来实践TDD的核心思想
- 接口的核心思想
- [转]外观模式——外观模式的核心思想
- Ext学习-基础概念,核心思想介绍
- Java四个核心思想
- 10位管理学大师及其核心重要思想
- 通用权限实现的核心设计思想
- [置顶] h5学习笔记:vue 路由部署服务器子目录问题
- 微积分核心思想
- BOTC软件开发模型思想之核心代码区分——php示例004
- 核心思想
- 《深入理解Spark-核心思想与源码分析》读书笔记(1)
- Struts2工作原理及其核心思想(二)
- Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲
- Java中的四个核心技术思想
- 简单工作流引擎是按一个单据的(类型),单据的(主键) 来处理流程步骤的,这个就是工作流设计的核心思想
- Java核心思想学习笔记003(Object Construction )