如果我们提供更多的@Input()属性为子组件提供数据,会产生影响吗?如果是,那么限制是多少?

时间:2019-04-18 13:34:41

标签: angular

我正在将@Input()传递给子组件。我几乎有10多个输入属性。我的功能运行良好。如果我使用更多@Input(),会对性能产生影响吗?

1 个答案:

答案 0 :(得分:0)

我不太确定具体的性能差异,我应该想象这会带来显着的差异,但是在非常好的水平上可能会如此。

对于一个更好的主意,我只是希望将一个@Input从父级传递给子级。而不是10个@Inuputs,只是发送一个作为对象{},其中包含父级所需的所有数据。小例子。

以下

@Input()public exampleOne: string;
@Input()public exampleTwo: string;

可以简化为

@Input()public exampleObject: ICompObjects; // type explained below.

console.log(this.exampleObject); // {exmapleOne: 'qwe', exampleTwo: 'xyz'}

然后我将声明一个接口,以确保IDE知道它的外观并继续提供自动完成功能。对于给定的示例。

export interface ICompObjects 
{
    exampleOne: string;
    exampleTwo: string;
}

总结一下,将10个输入压缩为一个对象,然后声明一个接口来控制输入。剩下1个输入而不是10个输入。