久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

vue 子組件watch監聽不到prop的解決

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

問題描述

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

解決方案

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

官方文檔

vue-watch 參考文檔

補充知識:vue父組件props參數太大時子組件created取不到數據-解決方法

問題:

父組件調用子組件:

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

其中的formList數據是用ajax調用的,數據比較大,應該有些延遲

子組件的created中調用props時,輸出的是默認數據:

vue 子組件watch監聽不到prop的解決

輸出:

vue 子組件watch監聽不到prop的解決

解決方法:

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

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

第二種:用 setTimeout 來做延遲,但這樣的方法不準確,應該視情況使用

其實兩種方法都應該視情況來使用。

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

標簽: vue
相關文章:
主站蜘蛛池模板: 延边| 临泉县| 新化县| 海宁市| 玉树县| 达拉特旗| 阿荣旗| 靖江市| 嵊州市| 延吉市| 七台河市| 垣曲县| 丰台区| 夹江县| 库伦旗| 天柱县| 合江县| 龙江县| 焦作市| 外汇| 金溪县| 临洮县| 萝北县| 长兴县| 北安市| 闸北区| 沧州市| 会昌县| 惠东县| 宜良县| 广安市| 壤塘县| 谷城县| 富裕县| 彩票| 玉山县| 依兰县| 澄城县| 惠来县| 交口县| 雅江县|