如何在组件中传递具有泛型 T 的 @input() 属性(@Input() ItemList: T[] = [];)
Posted
技术标签:
【中文标题】如何在组件中传递具有泛型 T 的 @input() 属性(@Input() ItemList: T[] = [];)【英文标题】:How to pass @input() property with generic type T in an component ( @Input() ItemList: T[] = [];) 【发布时间】:2020-04-02 14:49:04 【问题描述】:我正在构建一个组件,它接受一个名为 itemList 的 @Input() 属性,如下所示,
@Input() ItemList: T[] = [];
有没有办法在 Angular 5 中将 T 类型的 @Input 属性从父组件传递给子组件?
任何示例都会有所帮助。由于我们使用的是 AOT ,所以它不是那么简单。
【问题讨论】:
这能回答你的问题吗? Declare a component with generic type 在发布这个问题之前,我已经检查了这个。不幸的是,它没有回答我的问题。 【参考方案1】:尝试在类定义中定义泛型。
例子:
export class MyListComponent<T> implements OnInit
@Input() itemList: T[] = [];
ngOnInit()
【讨论】:
假设你的组件 MyListComponent<my-list-component [itemList]="yourList"></my-list-component>
.
在 TS:@ViewChild(MyListComponent) listComponent: MyListComponent<ItemList>
.以上是关于如何在组件中传递具有泛型 T 的 @input() 属性(@Input() ItemList: T[] = [];)的主要内容,如果未能解决你的问题,请参考以下文章
Swift - 在具有可选参数的泛型函数中以 Nil 作为参数