vue基础笔记三

vue具有“单个文件组件”,这似乎是对于关注分离的权衡-模版,脚本和样式在一个文件中,但在三个不同的有序部分中。这意味这你可以获得语法高亮,css支持以及更容易使用预处理器(如Jade预编译html或SCSS是css开发简写工具)
Vue相比于Vngular和React是最轻量的。
Vue始终是可及的,一个坚固的,但是灵活的安全网,保证变成效率和把操作DOM造成的痛苦降到最低。
Vue.js使用了MVVM模式,支持单向绑定和双向绑定。
Vue的体积为23K。
vue使用了虚拟DOM(Virtual DOM)

vue双向数据绑定原理
vue是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调,达到监听数据变动的目的。

「 Object.defineProperty() 方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。」

Object.defineProperty是ES5中一个无法shim的特性,这也就是为什么Vue不支持IE8以及更低版本的浏览器。

浏览器控制台在打印数据对象时getter/setter的格式化并不同,所以需要安装vue-devtools来获取更友好的检查接口。

每个组件实例都有相应的watcher实例对象,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的setter被调用时,会通知watcher重新计算。从而致使它关联的组件得以更新。

【 Watcher的update方法调起,便把Watcher压入schedule队列中,等待nextTick异步执行,当然我们可以使用同步模式,直接执行Watcher的run方法方便我们调试。】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值