vue實例與api

vue實例

var vm = new Vue({
  // 選項
})

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

當(dāng)實例被創(chuàng)建時蒿秦,data對象中所有屬性都加入到vue響應(yīng)式系統(tǒng)中戴尸,當(dāng)屬性的值發(fā)生改變時颜凯,視圖會更新為新的值。

只有實例被創(chuàng)建時就存在data中的屬性才是響應(yīng)式的枯途,因此需要使用的值最好都先初始化

var vm = new Vue({
  data: {
    newTodoText: '',
    visitCount: 0,
    hideCompletedTodos: false,
    todos: [],
    error: null
  }
})

實例屬性

  • vm.$data
    Vue 實例觀察的數(shù)據(jù)對象
  • vm.$props
    當(dāng)前組件接收到的 props 對象
  • vm.$el
    根 DOM 元素
  • vm.$options

實例方法/數(shù)據(jù)

  • vm.$watch(expOrFn,callback,[options])
    觀察 Vue 實例變化的一個表達(dá)式或計算屬性函數(shù)教寂。回調(diào)函數(shù)得到的參數(shù)為新值和舊值憔足。表達(dá)式只接受監(jiān)督的鍵路徑胁附。對于更復(fù)雜的表達(dá)式,用一個函數(shù)取代滓彰。
// 鍵路徑
vm.$watch('a.b.c', function (newVal, oldVal) {
  // 做點什么
})

// 函數(shù)
vm.$watch(
  function () {
    // 表達(dá)式 `this.a + this.b` 每次得出一個不同的結(jié)果時
    // 處理函數(shù)都會被調(diào)用控妻。
    // 這就像監(jiān)聽一個未被定義的計算屬性
    return this.a + this.b
  },
  function (newVal, oldVal) {
    // 做點什么
  }
)
  • vm.$set(target,propertyName/index,value)
  • vm.$delete(target,propertyName/index)

實例方法/事件

  • vm.$on(event,callback)
    監(jiān)聽當(dāng)前實例上的自定義事件。事件可以由vm.$emit觸發(fā)揭绑」颍回調(diào)函數(shù)會接收所有傳入事件觸發(fā)函數(shù)的額外參數(shù)。
vm.$on('test', function (msg) {
  console.log(msg)
})
vm.$emit('test', 'hi')
// => "hi"
  • vm.$once(event,callback)
    監(jiān)聽一個自定義事件他匪,但是只觸發(fā)一次菇存,在第一次觸發(fā)之后移除監(jiān)聽器。
  • vm.$off([event,callback])
    移除自定義事件監(jiān)聽器
  • vm.$emit(eventName,[...args])
    觸發(fā)當(dāng)前實例上的事件邦蜜。附加參數(shù)都會傳給監(jiān)聽器回調(diào)

實例方法/生命周期

  • vm.$mount([elementOrSelector])
    如果 Vue 實例在實例化時沒有收到 el 選項依鸥,則它處于“未掛載”狀態(tài),沒有關(guān)聯(lián)的 DOM 元素悼沈〖伲可以使用 vm.$mount() 手動地掛載一個未掛載的實例。

如果沒有提供 elementOrSelector 參數(shù)井辆,模板將被渲染為文檔之外的的元素关筒,并且你必須使用原生 DOM API 把它插入文檔中。

這個方法返回實例自身杯缺,因而可以鏈?zhǔn)秸{(diào)用其它實例方法蒸播。


生命周期
  • vm.$forceUpdate()
    迫使Vue實例重新渲染。注意它僅僅影響實例本身和插入插槽內(nèi)容的子組件萍肆,而不是所有子組件袍榆。
  • vm.$nextTick([callback])
    將回調(diào)延遲到下次 DOM 更新循環(huán)之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它塘揣,然后等待 DOM 更新包雀。它跟全局方法 Vue.nextTick 一樣,不同的是回調(diào)的 this 自動綁定到調(diào)用它的實例上亲铡。
  • vm.$destroy()
    銷毀一個實例才写,清理它與其它實例的連接葡兑,解綁它的全部指令及事件監(jiān)聽器。
    觸發(fā)beforeDestroydestroyed 的鉤子赞草。

指令

  • v-text
    更新元素的textContent如果需要更新部分的textContent讹堤,需要使用{{ Mustache }}插值。

  • v-html
    更新元素的innerHTML

  • v-show
    根據(jù)表達(dá)式的真假值厨疙,切換元素的display CSS屬性

  • v-if
    根據(jù)表達(dá)式的值的真假條件渲染元素洲守。在切換時元素及它的數(shù)據(jù)綁定/組件被銷毀并重建。如果元素是<template沾凄,將提出它的內(nèi)容作為條件塊

    v-if和v-for一起使用時梗醇,v-for的優(yōu)先級更高

  • v-else
    為 v-if 或者 v-else-if 添加“else 塊”。

  • v-else-if
    表示 v-if 的 “else if 塊”撒蟀⌒鸾鳎可以鏈?zhǔn)秸{(diào)用。

  • v-for
    基于源數(shù)據(jù)多次渲染元素或模板塊牙肝。此指令的值唉俗,必須使用特定語法alias in expression嗤朴,為當(dāng)前遍歷的元素提供別名配椭。

<div v-for="item in items">
  {{ item.text }}
</div>

v-for 默認(rèn)行為試著不改變整體,而是替換元素雹姊。迫使其重新排序的元素股缸,你需要提供一個 key 的特殊屬性

<div v-for="item in items" :key="item.id">
  {{ item.text }}
</div>
  • v-on
    縮寫:@

    綁定事件監(jiān)聽器吱雏。事件類型由參數(shù)指定敦姻。表達(dá)式可以是一個方法的名字或一個內(nèi)聯(lián)語句,如果沒有修飾符也可以省略歧杏。

    用在普通元素上時镰惦,只能監(jiān)聽原生 DOM 事件。用在自定義元素組件上時犬绒,也可以監(jiān)聽子組件觸發(fā)的自定義事件旺入。

    在監(jiān)聽原生 DOM 事件時,方法以事件為唯一的參數(shù)凯力。如果使用內(nèi)聯(lián)語句茵瘾,語句可以訪問一個 $event 屬性:v-on:click="handle('ok', $event)"

    2.4.0 開始咐鹤,v-on 同樣支持不帶參數(shù)綁定一個事件/監(jiān)聽器鍵值對的對象拗秘。注意當(dāng)使用對象語法時,是不支持任何修飾器的祈惶。

<!-- 方法處理器 -->
<button v-on:click="doThis"></button>

<!-- 動態(tài)事件 (2.6.0+) -->
<button v-on:[event]="doThis"></button>

<!-- 內(nèi)聯(lián)語句 -->
<button v-on:click="doThat('hello', $event)"></button>

<!-- 縮寫 -->
<button @click="doThis"></button>

<!-- 動態(tài)事件縮寫 (2.6.0+) -->
<button @[event]="doThis"></button>

<!-- 停止冒泡 -->
<button @click.stop="doThis"></button>

<!-- 阻止默認(rèn)行為 -->
<button @click.prevent="doThis"></button>

<!-- 阻止默認(rèn)行為雕旨,沒有表達(dá)式 -->
<form @submit.prevent></form>

<!--  串聯(lián)修飾符 -->
<button @click.stop.prevent="doThis"></button>

<!-- 鍵修飾符扮匠,鍵別名 -->
<input @keyup.enter="onEnter">

<!-- 鍵修飾符,鍵代碼 -->
<input @keyup.13="onEnter">

<!-- 點擊回調(diào)只會觸發(fā)一次 -->
<button v-on:click.once="doThis"></button>

<!-- 對象語法 (2.4.0+) -->
<button v-on="{ mousedown: doThis, mouseup: doThat }"></button>
  • v-bind
    縮寫:凡涩。
    動態(tài)的綁定一個或多個特性餐禁,或一個組件prop到表達(dá)式。

    在綁定 class 或 style 特性時突照,支持其它類型的值帮非,如數(shù)組或?qū)ο蟆讹蘑?梢酝ㄟ^下面的教程鏈接查看詳情末盔。

    在綁定 prop 時,prop 必須在子組件中聲明座慰≡刹眨可以用修飾符指定不同的綁定類型。

    沒有參數(shù)時版仔,可以綁定到一個包含鍵值對的對象游盲。注意此時 class 和 style 綁定不支持?jǐn)?shù)組和對象。

  • v-model
    在表單控件或者組件上創(chuàng)建雙向綁定蛮粮。限制在<input>
    <select> <textarea>

  • v-slot
    限用于template益缎、組件。提供具名插槽或需要接受prop的插槽然想。

  • v-pre
    跳過這個元素和它的子元素的編譯過程莺奔。可以用來顯示原始 Mustache 標(biāo)簽变泄。跳過大量沒有指令的節(jié)點會加快編譯令哟。

  • v-cloak
    這個指令保持在元素上直到關(guān)聯(lián)實例結(jié)束編譯。和 CSS 規(guī)則如 [v-cloak] { display: none } 一起用時妨蛹,這個指令可以隱藏未編譯的 Mustache 標(biāo)簽直到實例準(zhǔn)備完畢屏富。

  • v-once
    只渲染元素和組件一次。隨后的重新渲染蛙卤,元素/組件及其所有的子節(jié)點將被視為靜態(tài)內(nèi)容并跳過狠半。這可以用于優(yōu)化更新性能。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末表窘,一起剝皮案震驚了整個濱河市典予,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乐严,老刑警劉巖瘤袖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昂验,居然都是意外死亡捂敌,警方通過查閱死者的電腦和手機艾扮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來占婉,“玉大人泡嘴,你說我怎么就攤上這事∧婕茫” “怎么了酌予?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奖慌。 經(jīng)常有香客問我抛虫,道長,這世上最難降的妖魔是什么简僧? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任建椰,我火速辦了婚禮,結(jié)果婚禮上岛马,老公的妹妹穿的比我還像新娘棉姐。我一直安慰自己,他們只是感情好啦逆,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布伞矩。 她就那樣靜靜地躺著,像睡著了一般蹦浦。 火紅的嫁衣襯著肌膚如雪扭吁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天盲镶,我揣著相機與錄音,去河邊找鬼蝌诡。 笑死溉贿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浦旱。 我是一名探鬼主播宇色,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颁湖!你這毒婦竟也來了宣蠕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤甥捺,失蹤者是張志新(化名)和其女友劉穎抢蚀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镰禾,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡皿曲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年唱逢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屋休。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坞古,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劫樟,到底是詐尸還是另有隱情痪枫,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布叠艳,位于F島的核電站听怕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虑绵。R本人自食惡果不足惜尿瞭,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翅睛。 院中可真熱鬧声搁,春花似錦、人聲如沸捕发。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扎酷。三九已至檐涝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間法挨,已是汗流浹背谁榜。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凡纳,地道東北人窃植。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像荐糜,于是被迫代替她去往敵國和親巷怜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 主要還是自己看的暴氏,所有內(nèi)容來自官方文檔延塑。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,350評論 0 25
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,210評論 0 6
  • VUE介紹 Vue的特點構(gòu)建用戶界面答渔,只關(guān)注View層簡單易學(xué)关带,簡潔、輕量研儒、快速漸進(jìn)式框架 框架VS庫庫豫缨,是一封裝...
    多多醬_DuoDuo_閱讀 2,710評論 1 17
  • 基本用法 一独令、vuejs簡介 是一個構(gòu)建用戶界面的框架 是一個輕量級的MVVM(Model-View-ViewMo...
    深度剖析JavaScript閱讀 18,251評論 0 8
  • 劇荒 便開始二刷最好的我們 可能真的跟兩年前的心境不一樣了吧 以前最在意的是耿耿 于淮 路星河之間 現(xiàn)在卻很心疼簡...
    啊布要減肥閱讀 347評論 0 0