所以我会经常做这样的事情
save(...keys: string[]) {
keys.foreach(x => // save);
}
由于扩展运算符,我可以将其称为任何这些方式。
save('string1', 'string2');
save(['string1', 'string2']);
save('string');
我喜欢这种行为,但我有一个案例,我在一个组件上有一个 @input,我想以相同的方式表现。有时我只想给它一个项目,其他时候我想给它一个数组。如何应用这种语法?我希望能够做这样的事情。
@Input() ...myClass: ClassBase[] = [];
和这样的用法。
// ts
currentClass = new ClassBase();
conflictingClasses = [new ClassBase(), new ClassBase()];
// html
<my-component [myClass]="currentClass"></my-component>
<my-component [myClass]="conflictingClasses"></my-component>
我怎样才能得到这种行为?我们已经在几个地方使用了这个组件,但我们只给它一个项目,我希望不必大规模重构来更改这个组件来获取一组项目。
谢谢!