vue中子組件的created、mounted鈎子中獲取不到props中的值問題


出現這種情況的原因, 因為父組件中要傳遞的  props  屬性是通過ajax請求回來的, 請求的這個過程是需要時間的,但是子組件的渲染要快於ajax請求過程,所以此時  created 、 mounted  這樣的只會執行一次的生命周期鈎子,已經執行了,但是 props 還沒有流進來(子組件),所以只能拿到默認值。

<menu-list v-model="menuList"></menu-list>
props: {
    value: {
        type: Array
    }
},
watch: {
    value: {
         handler(newVal, oldVal) {
             this.init(); //處理數據
         },
          immediate: true,// //immediate:true代表如果在 wacth 里聲明了之后,就會立即先去執行里面的handler方法,如果為 false,不會在綁定的時候就執行。
          deep: true  //默認值是 false,代表是否深度監聽
    }
},

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM