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 我的本职是后端开发,因为业务需要,临时做一下前端,这个还是问了部门其他组的前端才改过来的
|