在Angular 10中,NgFor指令只能用于可迭代对象,不能用于对象类型为'object'的情况。如果你想在模板中使用NgFor来遍历一个对象的属性,可以按照以下方法进行解决:
组件代码示例:
export class MyComponent {
myObject = { key1: 'value1', key2: 'value2', key3: 'value3' };
getObjectKeys(obj: Object): string[] {
return Object.keys(obj);
}
}
模板代码示例:
{{ key }}: {{ myObject[key] }}
管道代码示例:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'objectToArray' })
export class ObjectToArrayPipe implements PipeTransform {
transform(obj: any): any[] {
const result = [];
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
result.push({ key: key, value: obj[key] });
}
}
return result;
}
}
模板代码示例:
{{ item.key }}: {{ item.value }}
请注意,在使用上述解决方法之前,确保对象不是null或undefined。