Vue的核心思想
Vue的核心思想
·
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条内容
所有评论(0)