似乎有几种方法可以给这只猫剥皮,但我想知道最好的(做法)以及为什么。
如果我想在 child-cmp 中收集一些数据并将其传递给 parent-cmp,我可以:
- 用父函数包装一个对象并将其作为输入传递给子对象,在输入上调用该函数。
- 在 child-cmp 中创建一个 EventEmitter 函数并发出结果,收集 parent-cmp 中的数据。
- 通过@ViewChild() 访问孩子并直接调用它的方法。
- 使用要收集的数据创建一个 ngModel(仅在表单中?)
我敢肯定还有更多。对于非基于表单的组件,我觉得使用事件发射器是最有角度的事情。但是我无法真正解释为什么具有良好的技术基础。想法?