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

vue 組件數(shù)據(jù)加載解析順序的詳細(xì)代碼

 更新時(shí)間:2024年03月01日 09:39:23   作者:英俊瀟灑美少年  
Vue.js的解析順序可以概括為:模板編譯、組件創(chuàng)建、數(shù)據(jù)渲染、事件處理和生命周期鉤子函數(shù)執(zhí)行,接下來通過本文給大家介紹vue 組件數(shù)據(jù)加載解析順序的完整代碼,感興趣的朋友跟隨小編一起看看吧

組件數(shù)據(jù)加載解析順序

實(shí)例初始化完成、props 解析 -> beforeCreate -> 響應(yīng)式數(shù)據(jù)、計(jì)算屬性、方法和偵聽器設(shè)置完成 -> created -> 判斷是否有渲染模版 -> beforeMount -> 組件掛載 -> mounted

  • created之前,響應(yīng)式數(shù)據(jù)、計(jì)算屬性、方法和偵聽器設(shè)置完成,但是方法、計(jì)算屬性并不會(huì)執(zhí)行,沒有immediate: true的偵聽器也不會(huì)執(zhí)行;
  • 只有用到計(jì)算屬性時(shí),才會(huì)去執(zhí)行計(jì)算屬性的方法
  • 組件內(nèi)外部使用push,$set,不修改原數(shù)組對(duì)象,會(huì)使得watch中的newValue等于oldValue,JSON.stringify(newValue) === JSON.stringify(oldValue)
  • watch加了immediate: true,先執(zhí)行響應(yīng)式數(shù)據(jù)初始化,立即觸發(fā)watch后,走到created生命周期。
  • 偵聽器依次設(shè)置時(shí),immediate: true的立即執(zhí)行,執(zhí)行后再繼續(xù)設(shè)置其他的偵聽器,也就是說,當(dāng)immediate立即執(zhí)行的監(jiān)聽,當(dāng)某些數(shù)據(jù)變更后,如果偵聽器還沒有設(shè)置,就不會(huì)執(zhí)行
  • 沒有immediate: true,的watch,觸發(fā)時(shí)機(jī)是晚于created、mounted的,當(dāng)數(shù)據(jù)再次發(fā)生變化后,beforeUpdate之前執(zhí)行;
  • watch加了immediate: true,可以監(jiān)聽到響應(yīng)式數(shù)據(jù)初始化后的變化。
  • 不要在選項(xiàng) property 或回調(diào)上使用箭頭函數(shù),比如 created: () => console.log(this.a) 或 vm.$watch(‘a’, newValue => this.myMethod())。因?yàn)榧^函數(shù)并沒有 this,this 會(huì)作為變量一直向上級(jí)詞法作用域查找,直至找到為止,經(jīng)常導(dǎo)致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: this.myMethod is not a function 之類的錯(cuò)誤。
import Vue from "vue";
new Vue({
  el: "#app",
  template: `<div>
    <div>{{computedCount}}</div>
  </div>`,
  data() {
    return {
      count: 1,
    }
  },
  watch: {
    count: {
      handler() {
        console.log('watch');
      },
      immediate: true,
    }
  },
  computed: {
    computedCount() {
      console.log('computed');
      return this.count + 1;
    }
  },
  created() {
    console.log('created');
  },
  mounted() {
    console.log('mounted');
  },
});
watch -> created -> computed -> mounted
new Vue({
  el: "#app",
  template: `<div>
    <div></div>
  </div>`,
  data() {
    return {
      count: 1,
    }
  },
  watch: {
    count: {
      handler() {
        console.log('watch');
      },
      immediate: true,
    }
  },
  computed: {
    computedCount() {
      console.log('computed');
      return this.count + 1;
    }
  },
  created() {
    console.log('created');
  },
  mounted() {
    console.log('mounted');
  },
});
watch -> created -> mounted
new Vue({
  el: "#app",
  template: `<div>
    <div></div>
  </div>`,
  data() {
    return {
      count: 1,
    }
  },
  watch: {
    count: {
      handler() {
        console.log('watch');
      },
      immediate: true,
    }
  },
  computed: {
    computedCount() {
      console.log('computed');
      return this.count + 1;
    }
  },
  created() {
    console.log('created');
  },
  mounted() {
    console.log('mounted');
    this.computedCount
  },
});
watch -> created -> mounted -> computed

到此這篇關(guān)于vue 組件數(shù)據(jù)加載解析順序的文章就介紹到這了,更多相關(guān)vue 組件數(shù)據(jù)加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談vue中的data與_data的關(guān)系是什么

    淺談vue中的data與_data的關(guān)系是什么

    在Vue實(shí)例中,data屬性是用戶定義的用于存儲(chǔ)數(shù)據(jù)的對(duì)象,而_data是Vue內(nèi)部用于存儲(chǔ)數(shù)據(jù)的對(duì)象,本文主要介紹了淺談vue中的data與_data的關(guān)系是什么,感興趣的可以了解一下
    2023-12-12
  • Vue?Steam同款登錄驗(yàn)證數(shù)字輸入框功能

    Vue?Steam同款登錄驗(yàn)證數(shù)字輸入框功能

    這篇文章主要介紹了Vue?Steam同款登錄驗(yàn)證數(shù)字輸入框功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • 面試官問你Vue2的響應(yīng)式原理該如何回答?

    面試官問你Vue2的響應(yīng)式原理該如何回答?

    可能很多小伙伴之前都了解過?Vue2實(shí)現(xiàn)響應(yīng)式的核心是利用了ES5的Object.defineProperty?但是面對(duì)面試官時(shí)如果只知道一些模糊的概念。只有深入底層了解響應(yīng)式的原理,才能在關(guān)鍵時(shí)刻對(duì)答如流,本文就來和大家詳細(xì)聊聊,感興趣的可以收藏一下
    2022-12-12
  • Vue中 Runtime + Compiler 和 Runtime-only 兩種模式含義和區(qū)別詳解

    Vue中 Runtime + Compiler 和 Runtime-o

    這篇文章主要介紹了Vue中 Runtime + Compiler 和 Runtime-only 兩種模式含義和區(qū)別,結(jié)合實(shí)例形式詳細(xì)分析了Vue中 Runtime + Compiler 和 Runtime-only 兩種模式基本功能、原理、區(qū)別與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2023-06-06
  • vue props 一次傳多個(gè)值實(shí)例

    vue props 一次傳多個(gè)值實(shí)例

    這篇文章主要介紹了vue props 一次傳多個(gè)值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue子路由跳轉(zhuǎn)實(shí)現(xiàn)tab選項(xiàng)卡

    vue子路由跳轉(zhuǎn)實(shí)現(xiàn)tab選項(xiàng)卡

    這篇文章主要為大家詳細(xì)介紹了vue子路由跳轉(zhuǎn)實(shí)現(xiàn)tab選項(xiàng)卡,完成一個(gè)簡(jiǎn)單的tab選項(xiàng)卡布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • vue element后臺(tái)鑒權(quán)流程分析

    vue element后臺(tái)鑒權(quán)流程分析

    這篇文章主要介紹了vue element后臺(tái)鑒權(quán)流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • elementUI中MENU菜單踩坑

    elementUI中MENU菜單踩坑

    本文主要介紹了elementUI中MENU菜單踩坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 解決vue+elementui項(xiàng)目打包后樣式變化問題

    解決vue+elementui項(xiàng)目打包后樣式變化問題

    這篇文章主要介紹了解決vue+elementui項(xiàng)目打包后樣式變化問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue創(chuàng)建項(xiàng)目卡住不動(dòng),vue?create?project卡住不動(dòng)的解決

    vue創(chuàng)建項(xiàng)目卡住不動(dòng),vue?create?project卡住不動(dòng)的解決

    這篇文章主要介紹了vue創(chuàng)建項(xiàng)目卡住不動(dòng),vue?create?project卡住不動(dòng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論

星子县| 托克逊县| 陆丰市| 额尔古纳市| 香格里拉县| 凤庆县| 永康市| 志丹县| 海原县| 滦平县| 扎赉特旗| 长顺县| 马公市| 太康县| 民权县| 克什克腾旗| 海盐县| 杭锦后旗| 松桃| 浮梁县| 中西区| 黔江区| 合肥市| 六枝特区| 茂名市| 北川| 汝南县| 杂多县| 修水县| 封开县| 皋兰县| 阳信县| 六枝特区| 遵义市| 芦山县| 贺兰县| 伊金霍洛旗| 泸定县| 临桂县| 高青县| 白玉县|