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删除提示框弹出是否删除对话框
Jan 07 Javascript
js字符串截取函数slice、substring和substr的比较
May 17 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
vuejs父子组件之间数据交互详解
Aug 09 Javascript
JavaScript如何获取到导航条中HTTP信息
Oct 10 Javascript
vue内置指令详解
Apr 03 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
微信小程序遍历Echarts图表实现多个饼图
Apr 25 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
May 07 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
Feb 24 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
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实现的CSS更新类实例
2014/09/22 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
详解python的数字类型变量与其方法
2016/11/20 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
基于django传递数据到后端的例子
2019/08/16 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
施工安全协议书
2013/12/11 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
物业工程部岗位职责
2015/02/11 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python