Angular material 角材料6-分类表

Angular material 角材料6-分类表,angular-material,angular6,Angular Material,Angular6,我在我的项目中使用了角度材质v6 我正在尝试添加一个可以对数据进行排序的表 如果我使用的是角度材质示例: 它工作得很好: 不 {{element.position} 名称 {{element.name} 重量 {{element.weight}} 象征 {{element.symbol} 以及TS代码: 从'@angular/core'导入{Component,OnInit,ViewChild}; 从“@angular/material”导入{MatSort,MatTableDataSour

我在我的项目中使用了角度材质v6

我正在尝试添加一个可以对数据进行排序的表

如果我使用的是角度材质示例:

它工作得很好:


不
{{element.position}
名称
{{element.name}
重量
{{element.weight}}
象征
{{element.symbol}
以及TS代码:

从'@angular/core'导入{Component,OnInit,ViewChild};
从“@angular/material”导入{MatSort,MatTableDataSource};
导出接口周期元素{
名称:字符串;
职位:编号;
重量:个数;
符号:字符串;
}
常量元素_数据: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'},
];
@组成部分({
选择器:“表排序示例”,
样式URL:['table-sorting-example.css'],
templateUrl:'table sorting example.html',
})
导出类TableSortingExample实现OnInit{
displayedColumns:string[]=['position','name','weight','symbol'];
数据源=新MatTableDataSource(元素数据);
@ViewChild(MatSort)排序:MatSort;
恩戈尼尼特(){
this.dataSource.sort=this.sort;
}
}
但如果我的数据是动态的,并且使用*ngFor指令,我就不能再对数据进行排序。我在这里创建了一个非常简单的示例,其中我的数据是来自循环索引的数字:


{{column}}
{{k}

有什么想法吗?

我不确定,但是
[matColumnDef]=“column”
看起来像是将它设置为常量字符串“column”,而不是它的值{{column}