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 相关文章推荐
document.documentElement &amp;&amp; document.documentElement.scrollTop
Dec 01 Javascript
浅谈JavaScript function函数种类
Dec 29 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
基于jquery实现百度新闻导航菜单滑动动画
Mar 15 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
Angular(5.2-&gt;6.1)升级小结
Dec 27 Javascript
JS document文档的简单操作完整示例
Jan 13 Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 Javascript
微信小程序实现下拉加载更多商品
Dec 29 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写入数据到CSV文件的方法
2015/03/14 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
nodejs基础应用
2017/02/03 NodeJs
详解Nodejs内存治理
2018/05/13 NodeJs
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
高校学生干部的自我评价分享
2013/11/04 职场文书
法定授权委托证明书
2015/06/18 职场文书
新闻稿怎么写
2015/07/18 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript