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

Vue.js實(shí)例方法之生命周期詳解

 更新時(shí)間:2017年07月03日 14:17:14   作者:前端崔小白  
這篇文章主要給大家介紹了關(guān)于Vue.js實(shí)例方法之生命周期的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。

本文主要給大家介紹的是關(guān)于Vue.js實(shí)例方法之生命周期的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),學(xué)習(xí)的朋友們下面來(lái)一起看看詳細(xì)的介紹:

一、$mount()掛載方法

$mount是用來(lái)掛載擴(kuò)張的。如果 Vue 實(shí)例在實(shí)例化時(shí)沒(méi)有收到 el 選項(xiàng),則它處于“未掛載”狀態(tài),沒(méi)有關(guān)聯(lián)的 DOM 元素??梢允褂?code> vm.$mount() 手動(dòng)地掛載一個(gè)未掛載的實(shí)例。

比如我們擴(kuò)張了一個(gè)全局組件,通過(guò)$mount手動(dòng)的掛載到DOM上,也就生成了一個(gè)Vue實(shí)例。

<div id="#app"></div>

擴(kuò)張一個(gè)全局組件,并且掛載到DOM上。

//擴(kuò)張全局的組件
var navBar = Vue.extend({
 template: `<div>{{ title }}</div>`,
 data(){
 return {
  title: 'Vue 擴(kuò)展的全局組件'
 }
 },
 mounted(){
 console.log('掛載上了')
 }
})

//使用全局?jǐn)U張的組件,掛載到id為#app的DOM上(會(huì)替換#app)
var vm = new navBar().$mount('#app');

//或者
var vm = new navBar({el: "#app"})

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

//在文檔之外渲染,并且掛載
var navbar = new navBar().$mount()
document.getElementById('app').appendChild(navbar.$el)

二、$destroy()銷毀方法

作用: 完全銷毀一個(gè)實(shí)例。

Vue 實(shí)例銷毀后調(diào)用。調(diào)用后,Vue 實(shí)例相關(guān)的所有東西都會(huì)解綁定,所有的事件監(jiān)聽(tīng)器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀。

<div id="app">

</div>
<button onclick="destroy()">銷毀</button>

在組件中掛載destroyed生命周期鉤子

var navBar = Vue.extend({
 template: `<div>
   <div>{{ title }}</div>
   <h2>{{ num }}</h2>
   <button @click = 'add'>add</button>
  </div>`,
 data(){
 return {
  title: 'Vue 全局?jǐn)U展組件',
  num: 10
 }
 }
 destroyed(){
 console.log('銷毀了')
 },
 methods: {
 add(){
  this.num++
 }
 }
})

//使用全局?jǐn)U張的組件,掛載到id為#app的元素上
var vm = new navBar().$mount('#app');

//銷毀
function destroy(){
 //點(diǎn)擊按鈕,銷毀vm實(shí)例,控制臺(tái)會(huì)輸出‘銷毀了',當(dāng)再次點(diǎn)擊的時(shí)候不會(huì)輸出,而且點(diǎn)擊add按鈕,數(shù)量也不會(huì)改變,說(shuō)明已經(jīng)銷毀了
 vm.$destroy()
}

三、$forceUpdate()更新方法

該方法是迫使Vue實(shí)例重新渲染。注意:它僅僅影響實(shí)例本身和插入插槽內(nèi)容的子組件,而不是所有子組件。

看代碼:

<button onclick="reload()">刷新</button>
//同樣的,為了看到是否重新更新了數(shù)據(jù),即是否執(zhí)行了reload方法,我們?cè)趯?shí)例中添加updated選項(xiàng)
updated(){
 console.log('數(shù)據(jù)重新渲染了')
}

//三、更新數(shù)據(jù)方法
function reload(){
 vm.$forceUpdate()
}

點(diǎn)擊更新按鈕,控制臺(tái)打印出updated鉤子中的輸出,說(shuō)明Vue實(shí)例重新渲染了。


四、$nextTick()數(shù)據(jù)修改方法

參數(shù): {Function} [callback]

該方法是構(gòu)造器data中的數(shù)據(jù)被修改后觸發(fā),相當(dāng)于updated鉤子函數(shù),但還是有區(qū)別的:它是在updated鉤子函數(shù)執(zhí)行完之后執(zhí)行其里邊的回調(diào)函數(shù)。也就是將回調(diào)延遲到下次 DOM 更新循環(huán)之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它,然后等待 DOM 更新。

methods: {
 add(){
  //更改數(shù)據(jù)
  this.num++
  this.$nextTick(function(){
   console.log('DOM現(xiàn)在更新了')
  })
 }
},
updated(){
 console.log('數(shù)據(jù)更新成:'+this.num)
}

通過(guò)控制臺(tái)的打印結(jié)果,可以看到,當(dāng)數(shù)據(jù)改變時(shí),updated鉤子早于$nextTick中的回調(diào)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Vue 中mixin 的用法詳解

    Vue 中mixin 的用法詳解

    e中提供了一種混合機(jī)制--mixins,用來(lái)更高效的實(shí)現(xiàn)組件內(nèi)容的復(fù)用。這篇文章主要介紹了Vue mixin 的用法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • Vue中的event對(duì)象介紹

    Vue中的event對(duì)象介紹

    這篇文章介紹了Vue中的event對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • vue中LocalStorage與SessionStorage的區(qū)別與用法

    vue中LocalStorage與SessionStorage的區(qū)別與用法

    本文主要介紹了LocalStorage和SessionStorage。LocalStorage和SessionStorage是兩種存儲(chǔ)方式,本文詳細(xì)的介紹一下區(qū)別以及用法,感興趣的可以了解一下
    2021-09-09
  • vue-quill-editor富文本編輯器超詳細(xì)入門使用步驟

    vue-quill-editor富文本編輯器超詳細(xì)入門使用步驟

    vue中很多項(xiàng)目都需要用到富文本編輯器,在使用了ueditor和tinymce后,發(fā)現(xiàn)并不理想,所以果斷使用vue-quill-editor來(lái)實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器入門使用步驟的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue2與vue3下如何訪問(wèn)使用public下的文件

    vue2與vue3下如何訪問(wèn)使用public下的文件

    這篇文章主要介紹了vue2與vue3下如何訪問(wèn)使用public下的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue路由傳遞query參數(shù)兩種方式

    Vue路由傳遞query參數(shù)兩種方式

    路由是可以傳遞參數(shù)的,一般使用query進(jìn)行傳參,有兩種方式,本溫酒通過(guò)代碼示例給大家介紹這兩種傳遞方式,感興趣的小伙伴可以參考閱讀
    2023-06-06
  • vue實(shí)現(xiàn)未登錄訪問(wèn)其他頁(yè)面自動(dòng)跳轉(zhuǎn)登錄頁(yè)功能(實(shí)現(xiàn)步驟)

    vue實(shí)現(xiàn)未登錄訪問(wèn)其他頁(yè)面自動(dòng)跳轉(zhuǎn)登錄頁(yè)功能(實(shí)現(xiàn)步驟)

    這篇文章主要介紹了vue實(shí)現(xiàn)未登錄下訪問(wèn)其他頁(yè)面自動(dòng)跳轉(zhuǎn)登錄頁(yè),本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Hexo已經(jīng)看膩了,來(lái)手把手教你使用VuePress搭建個(gè)人博客

    Hexo已經(jīng)看膩了,來(lái)手把手教你使用VuePress搭建個(gè)人博客

    vuepress是尤大大4月12日發(fā)布的一個(gè)全新的基于vue的靜態(tài)網(wǎng)站生成器,實(shí)際上就是一個(gè)vue的spa應(yīng)用,內(nèi)置webpack,可以用來(lái)寫文檔。這篇文章給大家介紹了VuePress搭建個(gè)人博客的過(guò)程,感興趣的朋友一起看看吧
    2018-04-04
  • vue 父組件調(diào)用子組件方法及事件

    vue 父組件調(diào)用子組件方法及事件

    這篇文章主要介紹了vue 父組件調(diào)用子組件方法及事件的相關(guān)資料,父組件傳入數(shù)組子組件循環(huán)來(lái)創(chuàng)建不同的組件模塊,所有事件都在子組件內(nèi)部.怎么實(shí)現(xiàn)這樣一個(gè)功能呢?接下來(lái)跟隨腳本之家小編一起看看吧
    2018-03-03
  • VUE動(dòng)態(tài)綁定class類的三種常用方式及適用場(chǎng)景詳解

    VUE動(dòng)態(tài)綁定class類的三種常用方式及適用場(chǎng)景詳解

    文章介紹了在實(shí)際開發(fā)中動(dòng)態(tài)綁定class的三種常見(jiàn)情況及其解決方案,包括根據(jù)不同的返回值渲染不同的class樣式、給模塊添加基礎(chǔ)樣式以及根據(jù)設(shè)計(jì)確定是否使用多個(gè)樣式
    2025-01-01

最新評(píng)論

雅江县| 佛教| 肇东市| 定边县| 潢川县| 门源| 七台河市| 吉木萨尔县| 佛冈县| 新化县| 竹山县| 保山市| 荣成市| 永年县| 女性| 当涂县| 革吉县| 河南省| 甘孜县| 鄂托克前旗| 博白县| 普陀区| 朝阳区| 牙克石市| 北辰区| 梨树县| 越西县| 图木舒克市| 吉木萨尔县| 商洛市| 阳城县| 太白县| 海伦市| 大姚县| 奉新县| 颍上县| 磐安县| 舒城县| 吴川市| 偃师市| 浦北县|