每个vue实例都会代理data对象里所有的属性:
var data = {a:1}
var vm = new Vue({
data:data
})
vm.a===data.a //true
//设置属性也会影响到原始数据
wm.a = 2
data.a //2
//反之亦然
data.a = 3
vm.a //3
只有这些被代理的属性是响应式的,如果在实例创建之后添加新的属性到实例上,
它不会出发试图更新。
除了data属性,vue实例暴露了一些有用的实例属性与方法。这些属性与方法都有
前缀$,一边与代理的data属性区分
var data = {a:1}
var wm = new vue({
el:'#example',
data:data
})
vm.$data===data //true
vm.$el===documentElementById('example')//true
//$watch是一个实例方法
vm.$watch('a',function(newVal,oldVal){
//这个回掉将在‘vm.a’改变后调用
})
不要再实例属性或者回调函数中(如vm.$watch('a',neVal=>this.meMethod))
使用箭头函数,因为箭头函数绑定父上下文,所以this不会是像预想的一样是vue实例而是
this.myMethods为被定义。
var data = {a:1}
var vm = new Vue({
data:data
})
vm.a===data.a //true
//设置属性也会影响到原始数据
wm.a = 2
data.a //2
//反之亦然
data.a = 3
vm.a //3
只有这些被代理的属性是响应式的,如果在实例创建之后添加新的属性到实例上,
它不会出发试图更新。
除了data属性,vue实例暴露了一些有用的实例属性与方法。这些属性与方法都有
前缀$,一边与代理的data属性区分
var data = {a:1}
var wm = new vue({
el:'#example',
data:data
})
vm.$data===data //true
vm.$el===documentElementById('example')//true
//$watch是一个实例方法
vm.$watch('a',function(newVal,oldVal){
//这个回掉将在‘vm.a’改变后调用
})
不要再实例属性或者回调函数中(如vm.$watch('a',neVal=>this.meMethod))
使用箭头函数,因为箭头函数绑定父上下文,所以this不会是像预想的一样是vue实例而是
this.myMethods为被定义。