欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Vue中生命周期函數(shù)的區(qū)別

 更新時(shí)間:2023年08月09日 10:52:27   作者:愛敲代碼的小林  
生命周期分為四個(gè)對(duì)子,根據(jù)不同的情況使用不同的函數(shù),這篇文章主要為大家介紹了這些函數(shù)的使用與區(qū)別,感興趣的小伙伴可以了解一下

生命周期圖

 上圖生命周期每個(gè)紅色的鉤子是一個(gè)階段,可以在每個(gè)不同的階段寫合適的代碼。

生命周期函數(shù)

生命周期分為四個(gè)對(duì)子,根據(jù)不同的情況使用不同的函數(shù)

其中beforeUpdate、updated能執(zhí)行多次

beforeCreate、created創(chuàng)建前、創(chuàng)建后
beforeMount、mounted掛載前、掛載后
beforeUpdate、updated更新前、更新后
beforeDestroy、destroyed銷毀前、銷毀后

下面的四種應(yīng)用場(chǎng)景用的統(tǒng)一HTML代碼

<div id="app">
    {{myName}}
</div>

beforeCreate和created的區(qū)別

創(chuàng)建前、創(chuàng)建后

beforeCreate創(chuàng)建前應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
        el: '#app',
        data() {
            return {
                myName:'abc',
            }
        },
        beforeCreate(){
            //獲取body并輸出測(cè)試
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("created",this.myName,bodyDom);
        }
    });

瀏覽器輸出結(jié)果:

beforeCreate中data的數(shù)據(jù)是沒有被定義的,created后面是undefined并且{{myName}}還未被識(shí)別

created創(chuàng)建后應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    created(){
        //獲取body并輸出測(cè)試
        var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
        console.log("created",this.myName,bodyDom);
    }
});

瀏覽器輸出結(jié)果:

created主要做一些頁面的數(shù)據(jù)的數(shù)據(jù)初始化工作,獲取到了myName的值,但是后臺(tái)顯示的還是{{myName}}值還未被填上去

beforeMount和mounted的區(qū)別

掛載前、掛載后

 beforeMount掛載前應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    beforeMount(){
            //獲取body并輸出測(cè)試
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

瀏覽器輸出結(jié)果:

輸出結(jié)果和created創(chuàng)建后一樣,是在創(chuàng)建后掛載前,自我感覺沒啥大用

mounted掛載后應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    mounted(){
            //獲取body并輸出測(cè)試
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

瀏覽器輸出結(jié)果:

數(shù)據(jù)已經(jīng)渲染到View中

beforeUpdate和updated的區(qū)別

更新前、更新后;和其他三個(gè)不同可被重復(fù)執(zhí)行

beforeUpdate更新前應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    beforeUpdate(){
            //獲取body并輸出測(cè)試
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

瀏覽器輸出結(jié)果:

數(shù)據(jù)更新前,數(shù)據(jù)未改變

updated更新后應(yīng)用場(chǎng)景

vue代碼:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    updated(){
            //獲取body并輸出測(cè)試
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

瀏覽器輸出結(jié)果:

數(shù)據(jù)更新后,數(shù)據(jù)已改變

beforeDestroy和destroyed的區(qū)別

銷毀前、銷毀后

beforeDestroy銷毀前

一般應(yīng)用到的場(chǎng)景:

  • 清除定時(shí)器
  • 解綁自定義事件
  • 取消訂閱、事件監(jiān)聽

沒有具體代碼演示

destroyed銷毀后

此鉤子函數(shù)會(huì)在組件實(shí)例銷毀之后執(zhí)行,此時(shí)所有的組件包括子組件都被銷毀了。

也沒有具體代碼演示

總結(jié)

幾個(gè)生命周期函數(shù)各有各的特點(diǎn),根據(jù)不同的業(yè)務(wù),使用不同的生命周期函數(shù)來解決問題。

到此這篇關(guān)于淺析Vue中生命周期函數(shù)的區(qū)別的文章就介紹到這了,更多相關(guān)Vue生命周期函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用mint-ui開發(fā)項(xiàng)目的一些心得(分享)

    使用mint-ui開發(fā)項(xiàng)目的一些心得(分享)

    下面小編就為大家?guī)硪黄褂胢int-ui開發(fā)項(xiàng)目的一些心得(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue右鍵菜單的簡(jiǎn)單封裝

    vue右鍵菜單的簡(jiǎn)單封裝

    這篇文章主要為大家詳細(xì)介紹了vue右鍵菜單的簡(jiǎn)單封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue動(dòng)態(tài)菜單、動(dòng)態(tài)路由加載以及刷新踩坑實(shí)戰(zhàn)

    vue動(dòng)態(tài)菜單、動(dòng)態(tài)路由加載以及刷新踩坑實(shí)戰(zhàn)

    這篇文章主要給大家介紹了關(guān)于vue動(dòng)態(tài)菜單、動(dòng)態(tài)路由加載以及刷新踩坑的相關(guān)資料,踩的這些坑其實(shí)是挺常見的,大家可以看看,避免遇到的時(shí)候再踩到同樣的坑,需要的朋友可以參考下
    2021-10-10
  • Vue表單數(shù)據(jù)修改與刪除功能實(shí)現(xiàn)

    Vue表單數(shù)據(jù)修改與刪除功能實(shí)現(xiàn)

    本文通過實(shí)例代碼介紹了Vue表單數(shù)據(jù)修改與刪除功能實(shí)現(xiàn),結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友跟隨小編一起看看吧
    2023-10-10
  • 詳解Vue中的Props與Data細(xì)微差別

    詳解Vue中的Props與Data細(xì)微差別

    這篇文章主要介紹了詳解Vue中的Props與Data細(xì)微差別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Vue2.x中的父子組件相互通信的實(shí)現(xiàn)方法

    Vue2.x中的父子組件相互通信的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue2.x中的父子組件相互通信,需要的朋友可以參考下
    2017-05-05
  • 詳解vue前后臺(tái)數(shù)據(jù)交互vue-resource文檔

    詳解vue前后臺(tái)數(shù)據(jù)交互vue-resource文檔

    本篇文章主要介紹了vue前后臺(tái)數(shù)據(jù)交互vue-resource文檔,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 頁面刷新后Vuex狀態(tài)丟失的完整解決方案

    頁面刷新后Vuex狀態(tài)丟失的完整解決方案

    當(dāng)頁面刷新時(shí),Vuex?的?state?數(shù)據(jù)會(huì)丟失,這是因?yàn)?Vuex?的狀態(tài)存儲(chǔ)在內(nèi)存中,刷新瀏覽器會(huì)重置?JavaScript?的運(yùn)行環(huán)境,下面我將詳細(xì)介紹幾種解決方案,從簡(jiǎn)單到復(fù)雜,幫助你根據(jù)項(xiàng)目需求選擇最適合的方法,需要的朋友可以參考下
    2025-04-04
  • vue項(xiàng)目實(shí)例中用query傳參如何實(shí)現(xiàn)跳轉(zhuǎn)效果

    vue項(xiàng)目實(shí)例中用query傳參如何實(shí)現(xiàn)跳轉(zhuǎn)效果

    這篇文章主要介紹了vue項(xiàng)目實(shí)例中用query傳參如何實(shí)現(xiàn)跳轉(zhuǎn)效果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue-router 路由傳參問題(路由傳參方式)

    vue-router 路由傳參問題(路由傳參方式)

    路由傳參主要有兩種方式一種是路徑傳參一種是參數(shù)傳遞,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11

最新評(píng)論