在检查服务页面时:
<table _ngcontent-c6="" class="mat-elevation-z8 mat-table" fxfill=""
mat-table="" matsort="" role="grid" ng-reflect-data-source="[object Object]">
在视图中:
table matSort fxfill mat-table [dataSource]="dataSource" class="mat-elevation-z8"
在控制器/构造函数中:
this.dataSource = new MatTableDataSource(this.section1)
this.dataSource.sort = this.sort;
this.service.getSection1().subscribe(data => {
this.section1 = data;
console.log(this.section1);
})
我还创建了一个带有按钮的函数,单击该按钮后,将数据源更改为“ BookingId”:“ SomethingSomething”,当我单击它时,它起作用了。我确实得到了智能感知错误和其他东西。
我还在其中添加了dataSource的console.log,经检查,“ section1”对象中的数据未添加到dataSource中。
我一直在重复使用以前项目中的很多代码,在此配置下一切正常。
我还有一个在我的Controller +导出的接口模型中定义的“ displayedColumns”对象。
我仅使用1行进行测试,以确保不会造成任何拼写错误或其他小问题。
编辑:
如果我将其添加到click函数中,即使intellisense不喜欢它,数据也会正确添加到表中:
this.service.getSection1().subscribe(data => {
this.dataSource = data;
console.log(this.section1)
})
答案 0 :(得分:0)
我刚刚在this.section1 = data之后添加了this.dataSource =新的MatTableDataSource(this.section1);似乎奏效了,但现在我对它为何在其他应用程序中奏效感到困惑。
几天后,我最终使用redux重建了所有内容,并在商店中的数组上使用了@select()装饰器,然后在构造函数中对其进行了订阅。这也很好。