Vue實(shí)例

  • 創(chuàng)建Vue實(shí)例
var vm = new Vue({
    <!-- 選項(xiàng) -->
})

  • 數(shù)據(jù)與方法

當(dāng)一個(gè) Vue 實(shí)例被創(chuàng)建時(shí),它向 Vue 的響應(yīng)式系統(tǒng)中加入了其 data 對(duì)象中能找到的所有的屬性。當(dāng)這些屬性的值發(fā)生改變時(shí),視圖將會(huì)產(chǎn)生“響應(yīng)”,即匹配更新為新的值。

值得注意的是只有當(dāng)實(shí)例被創(chuàng)建時(shí) data 中存在的屬性才是響應(yīng)式的。也就是說如果你添加一個(gè)新的屬性,比如:

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

vm.b = 2

這時(shí)對(duì) b 的改動(dòng)將不會(huì)觸發(fā)任何視圖的更新。如果你知道你會(huì)在晚些時(shí)候需要一個(gè)屬性,但是一開始它為空或不存在,那么你僅需要設(shè)置一些初始值。**

使用 Object.freeze()凍結(jié)的屬性對(duì)象,會(huì)阻止修改現(xiàn)有的屬性,也意味著響應(yīng)系統(tǒng)無法再追蹤變化。

var obj = {
    foo: 'bar'
}

Object.freeze(obj);

var app = new Vue({
    el: "#app",
    data: obj
})

Vue 實(shí)例還暴露了一些有用的實(shí)例屬性與方法。它們都有前綴 $,以便與用戶定義的屬性區(qū)分開來。

var data = {
    foo: 'bar'
}
var app = new Vue({
    el: "#app",
    data: data
})
// app.$data === data
console.log(app.$data);
// app.$el === document.getElementById("app")
console.log(app.$el);
// $watch實(shí)例方法
app.$watch('foo', function(newValue, oldValue){
    // 這個(gè)回調(diào)將在 `vm.a` 改變后調(diào)用
    console.log(newValue + " " + oldValue);
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,644評(píng)論 19 139
  • 主要還是自己看的,所有內(nèi)容來自官方文檔。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,540評(píng)論 0 25
  • 我看到了我的愛戀 我飛到她的身邊 我捧出給她的禮物 那是一小塊凝固的時(shí)間 時(shí)間上有美麗的條紋 摸起來像淺海的泥一樣...
    本木心閱讀 78評(píng)論 0 1
  • 前言 元表對(duì)應(yīng)的英文是metatable,元方法是metamethod。我們都知道,在C++中,兩個(gè)類是無法直接相...
    BobWong閱讀 1,125評(píng)論 0 9

友情鏈接更多精彩內(nèi)容