@Input数组如果在Angular组件上设置了多个

时间:2018-05-22 22:12:40

标签: angular

假设我的自定义Angular组件上有几个@Input:

@Input()
public set inputOne(value: string) { ... }

@Input()
public set inputTwo(value: string) { ... }

@Input()
public set inputThree(value: string) { ... }

如果我在模板上设置了多个:

<my-component inputOne="Hello" inputTwo="World" inputThree="!"></my-component

是否有办法(可能在我的组件的constructorngOnInit中通过某种数组访问所有这些?

是否存在@Inputs数组?我是否必须手动检查所有输入,如果已设置,请对它们执行某些操作?

由于

2 个答案:

答案 0 :(得分:0)

只需创建一个输入var,即一个数组:

@Input()
public set inputsArray(value: string[]) { ... }

答案 1 :(得分:0)

Theres to ways

输入数组

@Input() inputArray: string[];

或输入对象,字符串作为属性,用于捕获同一对象中的所有输入。

输入对象

export interface Inputs{
    inputOne: string;
    inputTwo: string;
    inputThree: string;
    ...
}

@Input() inputArray: Inputs;