vue 子组件watch监听不到prop的解决


Posted in Javascript onAugust 09, 2020

问题描述

在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的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery阻止同类型事件小结
Apr 19 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
Jun 06 Javascript
AngularJS模块管理问题的非常规处理方法
Apr 29 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
angular directive的简单使用总结
May 24 Javascript
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
Oct 21 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
了解JavaScript中的选择器
May 24 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
Aug 09 Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 #Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
Aug 09 #Javascript
bootstrap实现tab选项卡切换
Aug 09 #Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 #Javascript
js利用iframe实现选项卡效果
Aug 09 #Javascript
解决vue 退出动画无效的问题
Aug 09 #Javascript
在vue中使用console.log无效的解决
Aug 09 #Javascript
You might like
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python实现的归并排序算法示例
2017/11/21 Python
Flask-Mail用法实例分析
2018/07/21 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
python 求定积分和不定积分示例
2019/11/20 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
介绍一下#error预处理
2015/09/25 面试题
学前教育毕业生自荐信
2013/10/29 职场文书
应聘自荐信
2013/12/14 职场文书
捐款倡议书范文
2014/02/02 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
感恩教育活动总结
2014/05/05 职场文书
环保宣传标语
2014/06/12 职场文书
英语读书笔记
2015/07/02 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js