在寫vue3代碼時,遇到了父組件傳值給子組件,但是子組件無法及時刷新數據,父組件數據是異步獲取的。
使用了很多方法,froceUpdate(),nextTick之類的方法都試過了沒有生效。
所以需要在父組件對子組件進行刷新。
解決思路:文章來源:http://www.zghlxwxcb.cn/news/detail-517872.html
- 利用vue diff算法的特點,更新key,強制使子組件刷新
代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-517872.html
//dom
//給需要刷新的子組件加上一個自定義的key
<v-number :num="memoryNum" :fontSize="28" class="number" :key="keyNum"></v-number>
//ts
//所有數據加載完畢之后,更改這個key即可
let keyNum = ref(0);
onMounted(async () => {
await init();
keyNum.value++;
});
到了這里,關于vue3子組件數據無法更新的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!