国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

vue 子組件watch監(jiān)聽不到prop的解決

瀏覽:109日期:2023-10-15 11:16:27

問題描述

在vue項(xiàng)目中,父組件通過prop給子組件傳值時,如果prop值是從服務(wù)器端獲取,則父組件可能會傳給子組件一個默認(rèn)值(服務(wù)端數(shù)據(jù)還未及時獲取),那么,我們就需要實(shí)時watch這個prop值,一旦prop值有更新,將立即通知子組件更新。

解決方案

watch: { levelDetail: { immediate: true, // 很重要!!! handler (val) { this.levelPersonal = !val ? {} : val // console.log(’action Value:’, val, this.levelPersonal) } } },

官方文檔

vue-watch 參考文檔

補(bǔ)充知識:vue父組件props參數(shù)太大時子組件created取不到數(shù)據(jù)-解決方法

問題:

父組件調(diào)用子組件:

<mk-form :list='formList' :formvalue='formvalue'></mk-form>

其中的formList數(shù)據(jù)是用ajax調(diào)用的,數(shù)據(jù)比較大,應(yīng)該有些延遲

子組件的created中調(diào)用props時,輸出的是默認(rèn)數(shù)據(jù):

vue 子組件watch監(jiān)聽不到prop的解決

輸出:

vue 子組件watch監(jiān)聽不到prop的解決

解決方法:

第一種:加上 v-if 來判斷數(shù)據(jù)是佛加載完成了,加載完了再渲染:

<mk-form v-if='formList!=null' :list='formList' :formvalue='formvalue'></mk-form>

第二種:用 setTimeout 來做延遲,但這樣的方法不準(zhǔn)確,應(yīng)該視情況使用

其實(shí)兩種方法都應(yīng)該視情況來使用。

以上這篇vue 子組件watch監(jiān)聽不到prop的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: vue
相關(guān)文章:
主站蜘蛛池模板: 谢通门县| 晋州市| 吉木萨尔县| 碌曲县| 都昌县| 磐石市| 阿拉善右旗| 五莲县| 许昌市| 马山县| 齐河县| 鄢陵县| 互助| 涿鹿县| 隆昌县| 东宁县| 余姚市| 富民县| 贺州市| 汾西县| 景宁| 邯郸市| 西充县| 罗定市| 浦江县| 洞头县| 长泰县| 融水| 仪陇县| 洛南县| 呼伦贝尔市| 金堂县| 弥勒县| 屯门区| 攀枝花市| 武隆县| 仪征市| 黄浦区| 始兴县| 长岭县| 德钦县|