可以将[object Object]转换成字符串或者在模板中使用管道。
示例代码:
错误示例:
{{item}}
当items数组中的某一项是一个对象时,会出现NG8002错误,因为Angular不知道如何将对象绑定到模板中。
解决方法1:将对象转换成字符串
可以使用{{item | json}}将对象转换成JSON字符串并显示在模板中。
解决示例1:
{{item | json}}
解决方法2:使用管道
可以创建一个管道,将对象转换成字符串并在模板中使用。
解决示例2:
1.创建一个管道:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'objectToString'})
export class ObjectToStringPipe implements PipeTransform {
transform(value: object): string {
return JSON.stringify(value);
}
}
2.在app.module.ts中声明管道:
import { ObjectToStringPipe } from './object-to-string.pipe';
@NgModule({
declarations: [
ObjectToStringPipe
],
...
})
export class AppModule { }
3.在模板中使用管道:
{{item | objectToString}}