Angular 从子组件获取数据的更好方法

Angular 从子组件获取数据的更好方法,angular,angular2-template,Angular,Angular2 Template,想象一下,我有两个组件Parent和ChildChild用于收集家长以后需要的用户输入 现在我想用两种方法来实现这一点: 备选案文1: <child-component [data]="childData" (done)="onDone()"></child-component> Child在完成时发出done和相应的数据 选项2似乎更好地遵循angular2 imho的概念,但选项1立即提供数据。你会考虑选项1坏的做法吗?< 还有没有其他我没有想到的选择 要成为真正独

想象一下,我有两个组件
Parent
Child
Child
用于收集家长以后需要的用户输入

现在我想用两种方法来实现这一点:

备选案文1:

<child-component [data]="childData" (done)="onDone()"></child-component>
Child
在完成时发出
done
和相应的数据

选项2似乎更好地遵循angular2 imho的概念,但选项1立即提供数据。你会考虑选项1坏的做法吗?<
还有没有其他我没有想到的选择

要成为真正独立的组件,父级不应该对done做出反应,done应该对数据模型做一些事情,父级会观察到该数据模型,并且会因触发更新而做出反应

对我来说,这是一种更干净的实现父子关系的方式原因是当孩子更改时,使用孩子的每个家长都需要了解done已更改为什么,但如果done发生在孩子内部,家长可以从父母和孩子共同的另一个来源对其进行解释,那么父母和孩子都是松散耦合的。


这是一个选择的问题在这种情况下,你的选择和我的选择都应该做到这一点,这取决于你正在构建的应用程序的类型,如果你正在构建一个轻量级应用程序,你可以使用任何模型,但随着应用程序越来越大,这些父子依赖关系将再次困扰我们。

要成为真正独立的组件,父级不应该对完成做出反应,完成应该对父级监视的数据模型做些事情,并因触发更新而作出反应

对我来说,这是一种更干净的实现父子关系的方式原因是当孩子更改时,使用孩子的每个家长都需要了解done已更改为什么,但如果done发生在孩子内部,家长可以从父母和孩子共同的另一个来源对其进行解释,那么父母和孩子都是松散耦合的。

在这种情况下,这是一个选择问题,你的选择和我的选择都应该起作用,这取决于你正在构建的应用程序的类型,如果你正在构建一个轻量级应用程序,你可以使用任何模型,但是随着应用程序的规模越来越大,这些父子依赖关系将再次困扰我们

<child-component (done)="onDone(data)"></child-component>