Vue小記(第二天)

Vue實例

創建一個Vue實例

var vm=new Vue({

})

數據和方法

數據屬性:

var obj={
    a:1
}
var vm=new Vue({
    data:obj
})

1.當obj.a改變時vm.a的值同時也會改變,當vm.a改變時同理。

2.當這些數據變化時,視圖會重新渲染。

3.值得注意的是只有當實例被創建時data中存在的屬性纔是響應式的。也就是說如果你添加一個新的屬性,比如:

vm.b='hi'

不會觸發視圖更新。

4.如果當你知道晚些時候你會需要一個屬性值,但是一開始它爲空或不存在,那麼你僅需要設置一些初始值。比如:

var obj={
    a:1,
    b:true,
    c:[],
    d:'',
    e:null
}

5.object.freeze()會阻止修改現有的屬性,響應系統也無法再追蹤變化。

var obj={
    a:1
};
Object.freeze(obj);
var vm=new Vue({
    data:obj
});

當嘗試修改vm.a時會報錯

補充一點,v-on:click='',如果內容只是賦值,比如:

a='2',可以直接寫成:v-on:click='a="2"'。

實例屬性和方法:

除了數據屬性,Vue 實例還暴露了一些有用的實例屬性與方法。它們都有前綴$,以便與用戶定義的屬性區分開來。

vm.$data===obj     //true
vm.$el===document.getElementbyId('vue')  //true

$watch是一個實例方法,當vm.a改變時會觸發:

vm.$watch('a',function(newValue,oldValue){
    
})

實例生命週期鉤子

每個 Vue 實例在被創建時都要經過一系列的初始化過程——例如,需要設置數據監聽、編譯模板、將實例掛載到 DOM 並在數據變化時更新 DOM 等。同時在這個過程中也會運行一些叫做生命週期鉤子的函數,這給了用戶在不同階段添加自己的代碼的機會。

created鉤子可以用來在一個實例被創建之後執行代碼,生命週期鉤子的this上下文指向調用它的 Vue 實例:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章