Angular 角度材质数据表数据源

Angular 角度材质数据表数据源,angular,datatable,angular-material,Angular,Datatable,Angular Material,我试图将后端数据连接到我的数据源,但我一直收到一个错误消息:error error:提供的数据源与数组、可观察数据源或数据源不匹配 导出类AdminComponent实现OnInit{ 数据源:对象; this.data.getUsers().subscribe(数据=>{ this.dataSource=数据; });日期源类型错误。请不要指定对象。请确保其为:数组、可观察或数据源。例如: import {Component} from '@angular/core'; export int

我试图将后端数据连接到我的数据源,但我一直收到一个错误消息:error error:提供的数据源与数组、可观察数据源或数据源不匹配
导出类AdminComponent实现OnInit{
数据源:对象;
this.data.getUsers().subscribe(数据=>{
this.dataSource=数据;

});

日期源类型错误。请不要指定对象。请确保其为:数组、可观察或数据源。例如:

import {Component} from '@angular/core';

export interface PeriodicElement {
  name: string;
  position: number;
  weight: number;
  symbol: string;
}

const ELEMENT_DATA: PeriodicElement[] = [
  {position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'},
  {position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'},
  {position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'},
  {position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be'},
  {position: 5, name: 'Boron', weight: 10.811, symbol: 'B'},
  {position: 6, name: 'Carbon', weight: 12.0107, symbol: 'C'},
  {position: 7, name: 'Nitrogen', weight: 14.0067, symbol: 'N'},
  {position: 8, name: 'Oxygen', weight: 15.9994, symbol: 'O'},
  {position: 9, name: 'Fluorine', weight: 18.9984, symbol: 'F'},
  {position: 10, name: 'Neon', weight: 20.1797, symbol: 'Ne'},
];

/**
 * @title Basic use of `<table mat-table>`
 */
@Component({
  selector: 'table-basic-example',
  styleUrls: ['table-basic-example.css'],
  templateUrl: 'table-basic-example.html',
})
export class TableBasicExample {
  displayedColumns: string[] = ['position', 'name', 'weight', 'symbol'];
  dataSource = ELEMENT_DATA;
}
从'@angular/core'导入{Component};
导出接口周期元素{
名称:字符串;
职位:编号;
重量:个数;
符号:字符串;
}
常量元素_数据:PeriodiceElement[]=[
{位置:1,名称:'Hydrogen',重量:1.0079,符号:'H'},
{位置:2,名称:'氦',重量:4.0026,符号:'他'},
{位置:3,名称:'锂',重量:6.941,符号:'锂'},
{位置:4,名称:'铍',重量:9.0122,符号:'铍'},
{位置:5,名称:'硼',重量:10.811,符号:'B'},
{位置:6,名称:'Carbon',重量:12.0107,符号:'C'},
{位置:7,名称:'N',重量:14.0067,符号:'N'},
{位置:8,名称:'氧气',重量:15.9994,符号:'O'},
{位置:9,名称:'氟',重量:18.9984,符号:'F'},
{位置:10,名称:'Neon',重量:20.1797,符号:'Ne'},
];
/**
*@title的基本用法``
*/
@组成部分({
选择器:“表基本示例”,
样式URL:['table-basic-example.css'],
templateUrl:'table basic example.html',
})
导出类TableBasicExample{
displayedColumns:string[]=['position','name','weight','symbol'];
数据源=元素\数据;
}

错误告诉您需要提供什么类型:请参见此处的示例。是的,我一开始是这样做的,而且效果很好。这种方法的问题是我无法将变量从组件传递到数据源。例如,如果我有来自后端服务的数据,则另一个示例具有可观测数据。线索是不应定义数据源作为一个
对象
。我把它改成了这个,但我认为这不是正确的方法:dataSource=[];this.data.getUsers().subscribe(data=>{this.dataSource=[data];console.log(this.dataSource);});