MVVM全称是Model-View-ViewModel
Vue是以数据为驱动的,Vue自身将DOM和数据进行绑定,一旦创建绑定,DOM和数据将保持同步,每当数据发生变化,DOM会跟随变化。
ViewModel是Vue的核心,它是Vue的一个实例。Vue实例时作用域某个HTML元素上的这个HTML元素可以是body,也可以是某个id所指代的元素。
DOMListenters和DataBindings是实现双向绑定的关键。DOMListers监听页面所有View层DOM元素的变化,当发生变化,Model层的数据随之变化;DataBindings监听Model层的数据,当数据发生变化,View层的DOM元素随之变化。
数组和对象的什么操作vue不会响应?
由于JavaScript的限制,Vue不能检测以下变动的数组:
1、当你利用索引直接设置一个项时,例如:
vm.items[indexOfItem] = newValua
2、当你修改数组的长度时,例如:
vm.items.length = newLength
受现代JavaScript的限制(以及废弃Object.observe),Vue不能检测到对象属性的添加或删除。