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 相关文章推荐
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 Javascript
Node.js中对通用模块的封装方法
Jun 06 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 Javascript
jquery 根据name名获取元素的value值
Feb 27 Javascript
jquery图片切换实例分析
Apr 15 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 Javascript
jQuery中事件与动画的总结分享
May 24 Javascript
Vue.js 2.0中select级联下拉框实例
Mar 06 Javascript
express如何使用session与cookie的方法
Jan 30 Javascript
vue组件添加事件@click.native操作
Oct 30 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 header()函数使用说明
2008/07/10 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
百度地图api如何使用
2015/08/03 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
利用指针变量实现队列的入队操作
2012/04/07 面试题
大学生冰淇淋店商业计划书
2014/01/14 职场文书
公司薪酬管理制度
2014/01/31 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
先进基层党组织材料
2014/12/25 职场文书
伏羲庙导游词
2015/02/09 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
Redis集群的关闭与重启操作
2021/07/07 Redis
Python进程池与进程锁之语法学习
2022/04/11 Python