MVVM究竟是什么,跟Jquery有什么区别?vue
MVVM理解,跟MVC区别node
数据,视图层是否分离后端
以数据驱动视图app
MVVM 实现三要素dom
如何监听变化,实现响应式函数
视图模板解析,模板引擎this
将js中data对象属性捆绑到render函数,最后返回vnode,render函数中结构与snabbdom中h函数类似spa
// vue function render () { with (this) { //将_c,_v,price的this省略,至关于this._c,this._vthis.price _c('div', {attrs: {'id': 'app'}}, [_c('span', [_v(_s(price))])]) //_c建立vnode,_v字符串节点,_s字符串转话 } } // snabbdom h('div#app', [ h('span', vm.price) ])
dom如何生成的,如何在监听变化后渲染,使用patch方法与snabbdom相同代理
更新渲染code
vm._update(vnode) { const prevVnode = vm.vnode vm._vnode = vnode if (!prevVnode) { vm.$el = vm.__patch__(vm.$el,vnode) //初次渲染 } else { vm.$el = vm.__patch__(prevVnode,vnode) } } function updateComponent() { vm._update(vm._render()) //此处render便是模板转化的render函数,执行后可生成vnode }