将数组转换为 Angular 中的 NgIterable<T> 4+ (ngForOf)
Casting an array to NgIterable<T> in Angular 4+ (ngForOf)
我正在尝试修改指令 ngForOf
指令。该指令应自行获取可迭代对象。我如何强制转换 Array
以获得类型 NgIterable<T>
的对象?
// original
// @Input() ngForOf: NgIterable<T>;
// modified
ngForOf:any;
constructor(...){
this.ngForOf = [1,2,3] // Example Array
}
此致,
NgIterable 是 Array
和 Iterable
的类型别名,因此您不必强制转换。
这里的问题是 ngForOf is NgIterable where T is not defined (至少在代码中我们可以看到)try:
@Input() ngForOf: NgIterable<number>;
constructor(...){
this.ngForOf = [1,2,3] // Example Array
}
所以在你的情况下,你想使用泛型,你需要做一些事情,比如
import { Input, NgIterable } from '@angular/core';
export class MyForOf<T> {
@Input() ngForOf: NgIterable<T> = [];
}
我正在尝试修改指令 ngForOf
指令。该指令应自行获取可迭代对象。我如何强制转换 Array
以获得类型 NgIterable<T>
的对象?
// original
// @Input() ngForOf: NgIterable<T>;
// modified
ngForOf:any;
constructor(...){
this.ngForOf = [1,2,3] // Example Array
}
此致,
NgIterable 是 Array
和 Iterable
的类型别名,因此您不必强制转换。
这里的问题是 ngForOf is NgIterable where T is not defined (至少在代码中我们可以看到)try:
@Input() ngForOf: NgIterable<number>;
constructor(...){
this.ngForOf = [1,2,3] // Example Array
}
所以在你的情况下,你想使用泛型,你需要做一些事情,比如
import { Input, NgIterable } from '@angular/core';
export class MyForOf<T> {
@Input() ngForOf: NgIterable<T> = [];
}