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 相关文章推荐
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
Jun 28 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
Dec 29 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
基于JavaScript实现 网页切出 网站title变化代码
Apr 03 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
Vue中使用vux配置代码详解
Sep 16 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中array_merge和array相加的区别分析
2013/06/17 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
python requests.get带header
2020/05/05 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
幼师专业求职推荐信
2013/11/08 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
产品委托授权书范本
2014/09/16 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
2015年司机工作总结
2015/04/23 职场文书
红楼梦读书笔记
2015/06/25 职场文书
关于运动会的广播稿
2015/08/19 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
python 爬取天气网卫星图片
2021/06/07 Python
Node与Python 双向通信的实现代码
2021/07/16 Javascript