在看一些源码的时候,经常会看到类似下面的写法:
this.$children.someData=XXX;
this.$parent.someMethod();
...
不是应该通过 prop 或 emit 来通信吗?
如 elmentui
https://github.com/ElemeFE/element/tree/dev/packages/carousel/src
1
zhzbql 2020 年 3 月 6 日
使用 prop 或 emit 是为了降低耦合度,使组件更加通用。
当一个组件是高度定制化的,不考虑复用与公用的,直接调用父子组件更加直接与简单。 |
2
Vegetable 2020 年 3 月 6 日
这就是在我(现在的我)爽和别人(未来的我)爽之间做出的抉择了。
|
3
GM 2020 年 3 月 6 日 prop 或 emit 就像是套套,安全,无副作用,隔离性好,各种好。
就只有一个缺点:不那么爽。 this.$parent.someMethod() 之类的写法就像是不带套套,当时各种爽,事后,大家都懂。 |
4
Hoshinokozo 2020 年 3 月 6 日
@GM 鬼才
|
6
murmur 2020 年 3 月 6 日
对于逻辑交互不复杂(表单表格行多,页面多不等于复杂),简化开发比严格的业务流程更重要
对于有基础的程序员,简单的东西可以用约定大于框架限制,不带套不要紧,约定你不射我不蹭就没事 |