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

vue中的生命周期及鉤子函數(shù)

 更新時(shí)間:2022年01月24日 14:34:07   作者:huxiaoxiao.  
這篇文章主要介紹了vue中的生命周期及鉤子函數(shù),Vue?實(shí)例有一個(gè)完整的生命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載?Dom、渲染,下面文章詳細(xì)介紹,需要的朋友可以參考一下

1.什么是生命周期

Vue 實(shí)例有一個(gè)完整的生命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載 Dom、渲染 → 更新 → 渲染、卸載等一系列過(guò)程,我們稱這是 Vue 的生命周期。通俗說(shuō)就是 Vue 實(shí)例從創(chuàng)建到銷毀的過(guò)程,就是生命周期。

在 Vue 的整個(gè)生命周期中,它提供了一系列的事件,可以讓我們?cè)谑录|發(fā)時(shí)注冊(cè) js 方法,可以讓我們用自己注冊(cè)的 js 方法控制整個(gè)大局,在這些事件響應(yīng)方法中的 this 直接指向的是 vue 的實(shí)例。

2.vue 的生命周期

生命周期函數(shù),又叫鉤子函數(shù)(生命周期鉤子===生命周期函數(shù)===生命周期事件)

vue 中的生命周期函數(shù),一般都是 成對(duì)出現(xiàn)。所以我們成對(duì)比較一下,他們的區(qū)別。

10 個(gè)生命周期函數(shù) 牢記!具體使用!

3.生命周期鉤子函數(shù)

特點(diǎn):自動(dòng)調(diào)用的,只是他們的調(diào)用的時(shí)間節(jié)點(diǎn) 有 先 有 后。

在官網(wǎng)上拿了張圖:

beforeCreate  --- vue實(shí)例"創(chuàng)建前" ,注意:在這個(gè)函數(shù)中,vue中data數(shù)據(jù)中心的數(shù)據(jù),它是讀不到的。

  <script src="./js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                name:"哈哈哈",
                num:1111
            },
            methods: {
                
            },
 
            // vue實(shí)例創(chuàng)建之前
            beforeCreate(){
                console.log('beforeCreate');
                console.log(this.name);
            }
    </script>


輸出數(shù)據(jù)中心的 name 是讀不到的:

created --- vue實(shí)例"創(chuàng)建后",注意:在這個(gè)函數(shù)中,可以識(shí)別 到 vue中data數(shù)據(jù)中心的數(shù)據(jù)
  <script src="./js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                name:"哈哈哈",
                num:1111
            },
            // vue實(shí)例創(chuàng)建之后
            created(){
                console.log("created");
                console.log(this.name);
            }
        })
    </script>


查看結(jié)果:

beforeMount --- DOM掛載之前      this.$el---此時(shí)的$el為“虛擬的”DOM節(jié)點(diǎn)

在視圖層渲染標(biāo)簽:

  <div id="app">
        <p>{{name}}</p>
        <p>{{num}}</p>
    </div>
<script src="./js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                name:"哈哈哈",
                num:1111
            },
            // dom掛載之前
            beforeMount(){
                console.log("beforeMount");
                   //查看dom元素
                console.log(document.body.querySelector("#app").innerHTML);
            }
        })
    </script>


dom掛載前輸出結(jié)果:

 mounted ---DOM掛載之后    this.$el---此時(shí)的$el為“真實(shí)的”DOM節(jié)點(diǎn)
 
    <script src="./js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                name:"哈哈哈",
                num:1111
            },
            // dom掛載之后
            mounted(){
                console.log("mounted");
                console.log(document.body.querySelector("#app").innerHTML);
            }
        })
    </script>


查看輸出結(jié)果:

  •  beforeUpdate --- 數(shù)據(jù)更新之前(----視圖層中的數(shù)據(jù)的前后變化)
  • updated --- 數(shù)據(jù)更新之后(----視圖層中的數(shù)據(jù)的前后變化)

在視圖層通過(guò) 點(diǎn)擊讓 num 的數(shù)值發(fā)生改變來(lái)模擬數(shù)據(jù)更新,查看結(jié)果:

  
    <div id="app">
        <p id="num">{{num}}</p>
        <button @click="num++">點(diǎn)擊數(shù)據(jù)更新(num+1)</button>
    </div>
  // 數(shù)據(jù)更新前
            beforeUpdate(){
                console.log("beforeUpdate--數(shù)據(jù)更新前");
                // 查看dom元素
                console.log(document.body.querySelector("#num").innerHTML);
            },
            // 數(shù)據(jù)更新后
            updated(){
                console.log("updated--數(shù)據(jù)更新后");
                // 查看dom元素
                console.log(document.body.querySelector("#num").innerHTML);
            }


此時(shí)數(shù)據(jù)無(wú)變化時(shí),在控制臺(tái)是看不到效果的,當(dāng)我們點(diǎn)擊按鈕后:

 

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

相關(guān)文章

  • vue-cli之router基本使用方法詳解

    vue-cli之router基本使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue-cli之router基本使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • vue基礎(chǔ)之v-bind屬性、class和style用法分析

    vue基礎(chǔ)之v-bind屬性、class和style用法分析

    這篇文章主要介紹了vue基礎(chǔ)之v-bind屬性、class和style用法,結(jié)合實(shí)例形式分析了vue.js中v-bind綁定及class、style樣式控制相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng)

    Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng)

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue?el-input輸入框輸入不了的解決方法

    vue?el-input輸入框輸入不了的解決方法

    在工作中遇到N次input無(wú)法輸入的問(wèn)題,所以下面這篇文章主要給大家介紹了關(guān)于vue?el-input輸入框輸入不了的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Vue數(shù)字輸入框組件示例代碼詳解

    Vue數(shù)字輸入框組件示例代碼詳解

    很多朋友經(jīng)常遇到這樣的功能,只允許輸入數(shù)字,允許設(shè)置初始值、最大值、最小值,今天小編給大家分享示例代碼給大家介紹vue數(shù)字輸入框功能,感興趣的朋友一起看看吧
    2020-01-01
  • Vue指令之 v-cloak、v-text、v-html實(shí)例詳解

    Vue指令之 v-cloak、v-text、v-html實(shí)例詳解

    當(dāng)用戶頻繁刷新頁(yè)面或網(wǎng)速慢時(shí),頁(yè)面未完成 Vue.js 的加載時(shí),導(dǎo)致 Vue 來(lái)不及渲染,這就會(huì)導(dǎo)致在瀏覽器中直接暴露插值(表達(dá)式),這篇文章主要介紹了Vue指令 v-cloak、v-text、v-html,需要的朋友可以參考下
    2019-08-08
  • vue常見(jiàn)的通信方式總結(jié)

    vue常見(jiàn)的通信方式總結(jié)

    我們?nèi)粘m?xiàng)目開(kāi)發(fā)中,少不了組件之間的通信,我們可能只知道一些常見(jiàn)的方式比如props,emits,其實(shí),實(shí)現(xiàn)組件間的通信有很多種方式,本文就給大家總結(jié)一些我們常見(jiàn)的通信方式,需要的朋友可以參考下
    2023-08-08
  • Vue.js自定義指令學(xué)習(xí)使用詳解

    Vue.js自定義指令學(xué)習(xí)使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue.js自定義指令的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • vue組件Prop傳遞數(shù)據(jù)的實(shí)現(xiàn)示例

    vue組件Prop傳遞數(shù)據(jù)的實(shí)現(xiàn)示例

    本篇文章主要介紹了vue組件Prop傳遞數(shù)據(jù)的實(shí)現(xiàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • vue后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載方式

    vue后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載方式

    這篇文章主要介紹了vue后臺(tái)返回格式為二進(jìn)制流進(jìn)行文件的下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論