【发布时间】:2025-12-09 00:40:01
【问题描述】:
我在我的 Angular 应用中使用 ngx-translate。
它运作良好,但不幸的是我找不到翻译表格列标题保持排序功能的解决方案。
这是我的列定义
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header="name" > Name </th>
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>
我需要翻译“名称”以保留排序属性。
我试过了:
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header="name" translate> generic.name </th>
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>
但它会打印“generic.name”。
如果我删除:
mat-sort-header="name"
翻译有效,但我失去了表格排序功能。
我尝试过这样的事情:
<ng-container matColumnDef="{{ 'generic.name' | translate }}">
<th mat-header-cell *matHeaderCellDef mat-sort-header="{{ 'generic.name' | translate }}" translate> generic.name </th>
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>>
但它引发了很多异常,例如:ERROR 错误:找不到 id 为“name”的列。
感谢您的帮助。
【问题讨论】:
-
是否有一个选项可以显示与要排序的属性不同的内容?我认为如果没有这种选项,你也应该翻译你的列表对象的键。只是假设因为其他
data-table之类的插件
标签: angular ngx-translate