我有一个奇怪的错误,在我的应用程序上阻止了我前进。
我有一个类型为any[]
的变量,该变量将我用作表的数据源:
<table mat-table [dataSource]="EcoSummaryList">
变量被初始化为一个空数组。但是,当我什至试图将某些东西分配到数组中时,都会出现以下错误:
core.js:12632错误TypeError:无法设置属性'EcoSummaryList' 在以下位置未定义 push ../ src / app / eco-summary / eco-summary.component.ts.EcoSummaryComponent.OnSummaryLoad
以下是相关代码:
public EcoSummaryList: any[] = [];
OnSummaryLoad(data: any) {
this.EcoSummaryList = [];
console.log(data);
if (data == undefined || data == null) return;
this.EcoSummaryList = data;
}
数据对象没事,数据也没事,它过去曾经工作过。
我试图查看其他文章以找到答案,但没有成功,我还尝试在构造函数ngOnInit
处初始化数组,并从类型Array<MyClass>
创建var,然后致电new Array<MyClass>();
似乎没有任何作用,有什么建议吗?
更新:即使我注释掉<table>
并将其刚分配给[]
到变量中,我仍然遇到相同的错误。
答案 0 :(得分:1)
看起来像OnSummaryLoad
未被视为组件方法。不知道为什么。您可能要尝试使用箭头函数语法。使用它应该解决它:
public EcoSummaryList: any[] = [];
OnSummaryLoad = (data: any) => {
this.EcoSummaryList = [];
console.log(data);
if (data == undefined || data == null) return;
this.EcoSummaryList = data;
}