1、Vue是一個響應式系統(tǒng),所有在Vue實例中data對象中所有的屬性都會加入到響應式系統(tǒng)中,這些屬性的值發(fā)生改變,視圖就會發(fā)生相應的改變,改為最新的值。值得注意的是只有當實例被創(chuàng)建時就已經存在于?data?中的屬性才是響應式的。也就是說如果你添加一個新的屬性,它的值變化不會引起任何視圖的更新。創(chuàng)建Vue的一個實例代碼如下:
var vm = new Vue({
? ? el:'#div1',
? ? data:{
? ? ? ? ? ? name :'jack',
? ? ? ? ? ? age:40
? ? }
? ? vm.$data.age = 35;
});
2、計算屬性和方法列表
使用v-on指令綁定的函數,必須放在vue實例的methods里面,否則事件不會觸發(fā)。
計算屬性和方法列表表示如下:
var vm = new Vue({
? ? ? ? data:{},
? ? ? ? computed:{},
? ? ? ? methods:{}
})
計算屬性和方法的區(qū)別在于,計算屬性有緩存,除非依賴的屬性發(fā)生變化,否則一直采用之前的值,不會重新觸發(fā)計算屬性的get方法。
而方法不會有緩存,每次都會執(zhí)行。
3、watch方法 。監(jiān)聽data對象中某個屬性值的變化。
var vm = new Vue({
? ? data:{
? ? ? ? ? ? message:'hello'
? ? }
});
vm.$watch('message',function(newVal,oldVal){
????console.log('oldvalue'+oldVal);
????console.log('newvalue'+newVal);
});
vm.$data.message = 'world';