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

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

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

1.什么是生命周期

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

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

2.vue 的生命周期

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

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

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

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

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

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

beforeCreate  --- vue實(shí)例"創(chuàng)建前" ,注意:在這個函數(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)建后",注意:在這個函數(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---此時的$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---此時的$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ù)的前后變化)

在視圖層通過 點(diǎn)擊讓 num 的數(shù)值發(fā)生改變來模擬數(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ù)據(jù)無變化時,在控制臺是看不到效果的,當(dāng)我們點(diǎn)擊按鈕后:

 

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

相關(guān)文章

  • 關(guān)于Vue v-on指令的使用

    關(guān)于Vue v-on指令的使用

    這篇文章主要介紹了關(guān)于Vue v-on指令的一些使用場景,比如監(jiān)聽事件、傳入event參數(shù)、事件修飾符的一些場景,下面就來看看具體使用的方法吧,需要的朋友可以參考一下
    2021-10-10
  • Vue 讀取HTMLCollection列表的length為0問題

    Vue 讀取HTMLCollection列表的length為0問題

    這篇文章主要介紹了Vue 讀取HTMLCollection列表的length為0問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 詳解vue 2.6 中 slot 的新用法

    詳解vue 2.6 中 slot 的新用法

    對插槽的這種改變讓我對發(fā)現(xiàn)插槽的潛在功能感興趣,以便為我們基于Vue的項目提供可重用性,新功能和更清晰的可讀性。這篇文章主要介紹了vue 2.6 中 slot 的新用法,需要的朋友可以參考下
    2019-07-07
  • vue3+vite項目跨域配置踩坑實(shí)戰(zhàn)篇

    vue3+vite項目跨域配置踩坑實(shí)戰(zhàn)篇

    vue3是一個流行的前端框架,vite是一個快速的構(gòu)建工具,下面這篇文章主要給大家介紹了關(guān)于vue3+vite項目跨域配置踩坑實(shí)戰(zhàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • vue Treeselect下拉樹只能選擇第N級元素實(shí)現(xiàn)代碼

    vue Treeselect下拉樹只能選擇第N級元素實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue Treeselect下拉樹只能選擇第N級元素實(shí)現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • VUE3學(xué)習(xí)教程之全局組件和局部組件

    VUE3學(xué)習(xí)教程之全局組件和局部組件

    組件(Component)是Vue.js最強(qiáng)大的功能之一,組件可以擴(kuò)展?HTML?元素,封裝可重用的代碼,這篇文章主要給大家介紹了關(guān)于VUE3學(xué)習(xí)教程之全局組件和局部組件的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • vue多層嵌套路由實(shí)例分析

    vue多層嵌套路由實(shí)例分析

    這篇文章主要介紹了vue多層嵌套路由,結(jié)合實(shí)例形式分析了vue.js多層嵌套路由的概念、原理及相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • vue+element?UI?文字加下劃線長度多出一點(diǎn)點(diǎn)的問題

    vue+element?UI?文字加下劃線長度多出一點(diǎn)點(diǎn)的問題

    這篇文章主要介紹了vue+element?UI?文字加下劃線長度多出一點(diǎn)點(diǎn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件和iframe頁面的相互傳參問題及解決

    vue組件和iframe頁面的相互傳參問題及解決

    這篇文章主要介紹了vue組件和iframe頁面的相互傳參問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue+iview實(shí)現(xiàn)文件上傳

    vue+iview實(shí)現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了vue+iview實(shí)現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11

最新評論

北流市| 汉阴县| 东光县| 四平市| 琼结县| 彰武县| 泸西县| 荣成市| 临西县| 盘锦市| 黎城县| 麻城市| 甘洛县| 施甸县| 博野县| 利津县| 广汉市| 大兴区| 汉阴县| 徐闻县| 志丹县| 三台县| 射阳县| 尤溪县| 淮滨县| 施甸县| 南丰县| 泸溪县| 闽清县| 育儿| 固安县| 白朗县| 莒南县| 昌黎县| 茂名市| 景谷| 迁西县| 郯城县| 天柱县| 万安县| 博湖县|