Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度材质数据表数据绑定_Angular_Angular Material2 - Fatal编程技术网

Angular 角度材质数据表数据绑定

Angular 角度材质数据表数据绑定,angular,angular-material2,Angular,Angular Material2,我正在使用并试图使DataTable与Http响应对象一起工作。我已经设置了数据源,正在填充表行,但表中没有显示任何内容。对于集合中的每个对象,我都会得到一个空行条目,但是我可以使用Augury来查看表属性 以下是组件: 从'@angular/core'导入{Component,OnInit,ChangeDetectorRef}; 从'@angular/cdk'导入{DataSource}; 从“/response search result”导入{ResponseSearchResult};

我正在使用并试图使DataTable与Http响应对象一起工作。我已经设置了数据源,正在填充表行,但表中没有显示任何内容。对于集合中的每个对象,我都会得到一个空行条目,但是我可以使用Augury来查看表属性

以下是组件:

从'@angular/core'导入{Component,OnInit,ChangeDetectorRef};
从'@angular/cdk'导入{DataSource};
从“/response search result”导入{ResponseSearchResult};
从“../shared/search.service”导入{SearchService};
从“rxjs/Observable”导入{Observable};
从'rxjs/BehaviorSubject'导入{BehaviorSubject};
导入'rxjs/add/operator/map';
导入“rxjs/add/observable/of”;
导入“rxjs/add/observable/merge”;
@组成部分({
选择器:“搜索结果”,
templateUrl:'./results.component.html',
样式URL:['./results.component.scss']
})
导出类ResultComponent在NIT上实现{
显示列:[“ResponseConditionName”、“ResponseText”、“RelatedLinks”];
搜索词:字符串;
模板项:编号[];
加载数据:布尔值;
搜索结果:any=null;
数据源:SearchDataSource |空;
构造函数(私有searchService:searchService,私有changeDetector:ChangeDetectorRef){
}
恩戈尼尼特(){
this.dataSource=新的SearchDataSource(this.searchService);
this.searchService.loadingSearchResults.subscribe({
下一步:(值)=>this.loadingData=value
});
}
}
导出类SearchDataSource扩展了DataSource{
构造函数(专用搜索服务:搜索服务){
超级();
}
主题=新行为主题([]);
connect():可观察{
this.searchService.searchResults.subscribe({
下一步:(值)=>{
本。主体。下一个(价值);
}
});
返回可观察的合并(本主题);
}
断开连接(){
this.subject.complete();
this.subject.observators=[];
}
}

名称
{{row.ResponseConditionName}}
回应
{{row.ResponseText}
相关链接
{{link.LinkName}

初始化
显示列时,您使用的是
而不是
=

改变

displayedColumns:[“ResponseConditionName”、“ResponseText”、“RelatedLinks”]

displayedColumns=[“ResponseConditionName”、“ResponseText”、“RelatedLinks”]

简化了代码的工作


希望这将解决表中不显示数据的问题。

您可以从数据数组
中提供对象。加载可观察对象返回的数据
?代码中的一切看起来都很好。我能想到的唯一原因是,对象键不匹配。正如Nehal提到的,您的
displayedColumns
dataSource
列可能有不同的键值。请您在
this.subject.next(value)之前添加
console.log(value)
SearchDataSource
类中输入code>,并让我们知道您在控制台中看到了什么输出?:)。我花了一个小时用尽了所有其他可能的方法,最后才注意到这个语法错误,萝莉花了大约一天的时间试图找出它,但没有结果。TypeScript/Angular4是新手,所以我忽略了一个简单的语法错误