最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Vue實(shí)例以及生命周期

 更新時(shí)間:2018年08月14日 09:01:12   作者:沉江、小魚  
這篇文章給大家分享了Vue實(shí)例以及生命周期的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

最簡(jiǎn)單的Vue 實(shí)例

//html
<div id="app">
 {{message}}
</div>

//javascript
var vm = new Vue({
 el: '#app',
 data: {
 message: 'Hello Vue!'
 }
})

由于 Vue 借鑒了 MVVM 的思想,這里的字符串 "Hello Vue!" 就相當(dāng)于 Model,DOM 就相當(dāng)于 View,Vue 實(shí)例 "vm" 則是起連接 Mode 和 View 作用的 ViewModel,因此我們才得以通過數(shù)據(jù)驅(qū)動(dòng)視圖,而不需要關(guān)心它是怎么實(shí)現(xiàn)的,因?yàn)?Vue 已經(jīng)幫我們做好了一切。

Vue 實(shí)例內(nèi)置的屬性和方法都是以 "$" 開頭的,例如:vm.$data、vm.$el 等,另外選項(xiàng)并不等于實(shí)例,選項(xiàng)是通過 new Vue() 構(gòu)造函數(shù)時(shí)傳入的參數(shù)對(duì)象,但是實(shí)例可以從暴露的接口訪問某些選項(xiàng)的值,例如:console.log(vm.$data.message) 輸出 "Hello Vue!"。

實(shí)例的生命周期

在創(chuàng)建實(shí)例的過程中,Vue 提供了一些生命周期鉤子函數(shù),允許我們?cè)倌骋惶囟A段執(zhí)行一些額外的操作:

beforeCreate:

在實(shí)例初始化之后,數(shù)據(jù)綁定之前會(huì)調(diào)用這個(gè)函數(shù),例如:

//javascript
var vm = new Vue({
 el: '#app',
 data: {
  message: 'Hello Vue!'
 },
 beforeCreate: function() {
  console.log(this.message); //undefind
 }
})

需要說明的有兩點(diǎn):1、這里的 "this" 指向 Vue 實(shí)例,即 "vm",2、Vue 實(shí)例同時(shí)也代理了選項(xiàng)中 "data" 下的所有屬性,也就是說 vm.message == vm.$data.message == "Hello Vue!",但是因?yàn)樵谶@個(gè)階段數(shù)據(jù)并沒有綁定到 Vun 實(shí)例上面,所以輸出 "undefind"。在這之前數(shù)據(jù)會(huì)先保存在 vm.$options 中,如果要在這個(gè)階段獲取數(shù)據(jù),可以先通過 vm.$options.data() 方法,返回 "data" 對(duì)象,通過 vm.$options.data().message 返回對(duì)應(yīng)的值。
在這個(gè)階段可以做一些不需要數(shù)據(jù)的工作,比如說開啟全局 loading 效果。

created:

在實(shí)例創(chuàng)建完成,數(shù)據(jù)綁定之后會(huì)調(diào)用這個(gè)函數(shù),此時(shí) console.log(this.message) 輸出正確的值 "Hello Vue!"。
在這個(gè)階段,數(shù)據(jù)已經(jīng)初始化為選項(xiàng)中的默認(rèn)值,但是真實(shí)的數(shù)據(jù)還要通過 ajax 從后端數(shù)據(jù)庫獲取,因此這個(gè)階段可以向后端發(fā)請(qǐng)求獲取數(shù)據(jù),然后綁定到對(duì)應(yīng)屬性上。

之后判斷選項(xiàng)中有無 "el" 屬性(作為 Vue 實(shí)例的掛載目標(biāo),在這里就是 id 為 app 的 div 標(biāo)簽),如果沒有,則需要手動(dòng)調(diào)用 vm.$mount(el) 方法指定掛載的目標(biāo);

接著判斷選項(xiàng)中有無 "template" 屬性,如果沒有,則直接使用 "el" 屬性指定的掛載目標(biāo),如果有,那么就用 "template" 屬性指定的字符串模板替換掛載目標(biāo),掛載目標(biāo)中的所有內(nèi)容將被忽略;

beforeMount:

在實(shí)例掛載之前調(diào)用。

在這個(gè)階段可以移除全局 loading 效果。

mounted:

在實(shí)例掛載之后調(diào)用。

在這個(gè)階段頁面已經(jīng)加載完畢,可以對(duì) DOM 進(jìn)行操作。

beforeUpdate:

在數(shù)據(jù)更新時(shí)調(diào)用。

在這個(gè)階段可以在數(shù)據(jù)更新前訪問現(xiàn)有的 DOM。

updated:

在數(shù)據(jù)更新之后調(diào)用。

在這個(gè)階段可以對(duì)更新后的 DOM 進(jìn)行操作。

相關(guān)文章

  • Vue實(shí)現(xiàn)省市區(qū)級(jí)聯(lián)下拉選擇框

    Vue實(shí)現(xiàn)省市區(qū)級(jí)聯(lián)下拉選擇框

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)省市區(qū)級(jí)聯(lián)下拉選擇框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中mint-ui的使用方法

    vue中mint-ui的使用方法

    這篇文章主要為大家詳細(xì)介紹了vue中mint-ui的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Vue3使用Univer Docs創(chuàng)建在線編輯Excel的示例代碼

    Vue3使用Univer Docs創(chuàng)建在線編輯Excel的示例代碼

    本文介紹了如何在Vue3項(xiàng)目中集成UniverDocs,一個(gè)基于Luckysheet的企業(yè)文檔與數(shù)據(jù)協(xié)同解決方案,指導(dǎo)了從安裝到在頁面中使用的步驟,以及注意事項(xiàng),如數(shù)據(jù)格式轉(zhuǎn)換和二次開發(fā)的靈活性,需要的朋友可以參考下
    2025-04-04
  • vue在外部方法給下拉框賦值后不顯示label的解決

    vue在外部方法給下拉框賦值后不顯示label的解決

    這篇文章主要介紹了vue在外部方法給下拉框賦值后不顯示label的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中el-table樹狀表格末行合計(jì)實(shí)現(xiàn)

    vue中el-table樹狀表格末行合計(jì)實(shí)現(xiàn)

    本文主要介紹了vue中el-table樹狀表格末行合計(jì)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • vue3中各種類型文件進(jìn)行預(yù)覽功能實(shí)例

    vue3中各種類型文件進(jìn)行預(yù)覽功能實(shí)例

    在vue移動(dòng)端項(xiàng)目中經(jīng)常遇到這樣的需求,對(duì)一些上傳的附件可以點(diǎn)擊之后在線預(yù)覽,所以下面這篇文章主要給大家介紹了關(guān)于vue3中各種類型文件進(jìn)行預(yù)覽功能的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能(一)

    Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能(一)

    最近vue.js 非?;馃?,小編也趁機(jī)學(xué)習(xí)了下vuejs的一些基礎(chǔ)知識(shí),于是嘗試做一個(gè)像微信平臺(tái)里的菜單編輯器功能,下面腳本之家小編把vue.js 微信公眾號(hào)菜單編輯器功能的實(shí)現(xiàn)代碼分享給大家,需要的朋友參考下
    2018-05-05
  • Vue+ElementUI怎么處理超大表單實(shí)例講解

    Vue+ElementUI怎么處理超大表單實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Vue+ElementUI怎么處理超大表單實(shí)例講解內(nèi)容,以后需要的朋友可以跟著學(xué)習(xí)參考下。
    2021-11-11
  • Vue中設(shè)置登錄驗(yàn)證攔截功能的思路詳解

    Vue中設(shè)置登錄驗(yàn)證攔截功能的思路詳解

    今天在做vue和springboot交互的一個(gè)項(xiàng)目的時(shí)候,想要基于前端實(shí)現(xiàn)一些只有登錄驗(yàn)證之后才能訪問某些頁面的操作,所以在這里總結(jié)一下實(shí)現(xiàn)該功能的一個(gè)解決方案
    2021-10-10
  • vue自定義開發(fā)滑動(dòng)圖片驗(yàn)證組件

    vue自定義開發(fā)滑動(dòng)圖片驗(yàn)證組件

    這篇文章主要為大家詳細(xì)介紹了vue自定義開發(fā)滑動(dòng)圖片驗(yàn)證組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論

临洮县| 承德市| 长治市| 荣昌县| 巴楚县| 宝清县| 大兴区| 娱乐| 阿拉尔市| 济阳县| 肥西县| 济南市| 北宁市| 台东县| 沙河市| 白朗县| 通山县| 宁明县| 泾阳县| 马鞍山市| 讷河市| 乌恰县| 武城县| 邵东县| 平定县| 迭部县| 边坝县| 九台市| 宝兴县| 北票市| 从江县| 沾益县| 东至县| 文山县| 清流县| 区。| 来宾市| 克什克腾旗| 额尔古纳市| 修文县| 林州市|