
props: ['flowData'], watch: { flowData:function(newVal, oldVal){ console.log("这是前面传来的 props 值: " + newVal + ",原来的值是: " + oldVal); this.showFlowChart(newVal); } } 有如上代码,props 是父组件传来的值,watch 监听 props 中'flowData'值的改变,一旦'flowData'中的值发生改变,那么就触发 showFlowChart()方法。 我遇到的问题是:页面刷新后,父组件第一次传值 watch 不触发( flowData 百分之百传过来了),求助应该怎么解决,百度看了好半天都没找到合适的解决方法( flowData 是一个 String 类型)
1 Hoshinokozo 2019-07-19 12:00:55 +08:00 deep:true |
2 Hoshinokozo 2019-07-19 12:01:21 +08:00 @Hoshinokozo 打错了,是 immediate:true |
3 W1angMh OP @Hoshinokozo 谢谢,之前试过 immediate,但是使用方式好像不对,我改成如下代码后解决了我的问题 watch: { "flowData":{ immediate: true, handler:function(newVal, oldVal){ console.log("这是前面传来的 props 值: " + newVal + ",原来的值是: " + oldVal); this.showFlowChart(newVal); } } }, |
4 redbuck 2019-07-19 16:05:54 +08:00 还可以手动添加监视,比声明式灵活 |
5 wxsm 2019-07-19 16:16:31 +08:00 百度半天都不看文档系列,看文档 2 分钟解决 |
7 doing1 2019-07-19 16:36:09 +08:00 不错哇,佩服,学习了 |
8 shenyu1996 2019-07-19 17:04:01 +08:00 这样啊 第一次我都是直接在 mounted 处理的 |
9 W1angMh OP 我的本职是后端开发,因为业务需要,临时做一下前端,这个还是问了部门其他组的前端才改过来的 |