18910140161

可以直接用ref给子组件传值么,有些情况我感觉比prop方便

顺晟科技

2021-06-19 08:04:44

121

例如父组件点击table取到这一条数据信息data,传递给子组件的form,这样子直接this.$refs.child.form=data 这样不是方便很多么?


顺晟科技:

ts里面定义object才有意义,普通js里面定义,没啥约束力。

传给子组件之前 定义一个object取出自己相要的 再把这个object给子组件

这是hack.应该用prop。除非你有prop不能解决的需求,不能吧使用ref弄成常态。否则你的代码将会一团乱。

其实一点都不方便。首先,this.$refs.child.form 是不是很长?其次,父组件要知道子组件的内部结构,才能这样赋值,增加父组件的认知,子组件的结构是不需要父组件去了解的。最后,列表的数据可能是旧的,不是最新的,所以一般打开form,会从后端申请一个最新的数据。这样尽量保证数据的实时性。

当然可以。这样的代价就是耦合度增加,但逻辑上没问题

补充一下,列表里的data和form里需要的数据未必完全一致。data提供的数据无法满足form的需求怎么办?

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航