1.Object.freeze()
,会阻止修改现有的属性,也意味着响应系统无法再追踪变化。
例子:
<body> <div id="app"> <p class="hang hangbiaoqian">{{foo}}</p> <button @click="foo='baz'"> 按钮</button> </div> </body> <script> var obj = { foo:'bar' } Object.freeze(obj); new Vue({ el:"#app", data:obj }) </script>
如果没有Object.freeze(obj); 那么当点击“按钮”时,foo=bar 会变成 foo= baz;
但是如果有Object.freeze(obj); 那么点击“按钮”时,foo 不会发生任何变化;
2. 回调方法
var data = { a: 1 }
var vm = new Vue({
el: '#example',
data: data
})
vm.$data === data // => true
vm.$el === document.getElementById('example') // => true
// $watch 是一个实例方法
vm.$watch('a', function (newValue, oldValue) {
// 这个回调将在 `vm.a` 改变后调用
})