Vue 如何知道父组件传递了数据给子组件?

2020-11-06 16:25:52 +08:00
 coolair

子组件 Prop 一个参数:

height: {
    type: Number,
    default: 800,
}

在父组件中引用子组件

<child :height=height />
<child  />

在子组件的 created 方法中有没有办法知道父组件到底有没有传值过来?就是有没有在父组件中有没有写上:height=height ?

还有一个问题:

<child :height=height @test="test" />

在这种情况下,有没有什么好的方法保证 height 和 @click 同时设置或者同时不设置?因为我这个 test 是为了修改 height 的值去更新子组件,要是没有设置 height,那这个 test 就没有意义了。

1149 次点击
所在节点    问与答
6 条回复
Mist0
2020-11-06 16:26:35 +08:00
required:true
leefly
2020-11-06 16:47:58 +08:00
watch 下这个 height ?
huijiewei
2020-11-06 17:05:24 +08:00
你说的和设置不设置有什么关系么

只要子组件定义了就好了
maroon5
2020-11-06 17:07:14 +08:00
watch 或 computed?
dinjufen
2020-11-06 17:09:56 +08:00
你的 height 有默认值,传过来不等于默认值可约等于有传值?从结果上讲是这样吧。。如果传的刚好等于默认值那结果不还一样吗
ghjacky
2020-11-06 17:10:47 +08:00
watch 一下这个 prop 不就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX