首先建议大家多看看官网,上面的链接是Vue官网的介绍。
关于双向数据绑定
不同的MVVM框架中,双向数据绑定所用到的技术有所不同。 Vue使用的是ES5中Object.defineProperty()方法监控对数据的操作,从而实现数据同步。并将变更后的数据重新渲染到视图中。
通常在编写代码时:
我们需要从服务器获取数据(也就是MV模式中的M-model)并渲染到视图(V-view)中。当数据有变化时,再次进行渲染更新视图,使得视图与数据保持一致。 反之,当用户与页面进行交互,使得某些状态变更,数据变化。我们需要将视图对数据的更新同步到数据,再者就是向服务器发送数据同步。
阻止双向数据绑定
Object.freeze()这会阻止数据的双向同步,无法实现视图与数据保持一致。(这一点大家可以在Vue官方介绍中-基础-Vue实例-数据与方法)