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