如何更好地使用Angular @input()

时间:2019-01-31 03:15:27

标签: angular angular2-changedetection

我有一个子组件,该子组件需要父组件中的三个变量。 这三个变量都来自一个对象,例如:

let man = {name:'John',gender:'male',age:42,birthday:'1976-6-12'}

那么如何设计该组件?

A:

<sub [name]='man.name' [gender]='man.gender' [age]='man.age'></sub>

B:

<sub [man]='man'></sub>

我知道A的优势在于当对象内部的值发生变化时,changedetector可以检测到变化,而B则不能。 但是还有其他区别吗?

1 个答案:

答案 0 :(得分:1)

我认为这取决于您要制造的组件的可重用性。

对于A,它是高度可重用的,因为以后不用担心man对象会非常复杂,sub组件只需要知道{ {1}},namegender

情况B很少发生,但是当age组件充当容器而不是哑组件时,可能会发生。