首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ngx-translate和表排序

Ngx-translate和表排序
EN

Stack Overflow用户
提问于 2019-07-02 18:20:51
回答 2查看 1.1K关注 0票数 0

我在我的Angular应用程序中使用了ngx-translate。

它工作得很好,但不幸的是,我找不到一个解决方案来翻译一个保持排序功能的表列标题。

这是我的列定义

代码语言:javascript
复制
 <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>

我需要翻译保持排序属性的"Name“。

我尝试过的方法很简单:

代码语言:javascript
复制
<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“。

如果我删除:

代码语言:javascript
复制
mat-sort-header="name"

翻译可以工作,但我失去了表排序功能。

我尝试过这样的东西:

代码语言:javascript
复制
  <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 Error:找不到id为"name“列。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-02 19:48:12

如果我们只需要翻译标题,那就只在标签上使用翻译管道。

代码语言:javascript
复制
<ng-container matColumnDef="name">
  <th mat-header-cell *matHeaderCellDef  mat-sort-header="name" > 
    {{'Name' | translate}} 
  </th>
  <td mat-cell *matCellDef="let element"> 
    {{element.name}} 
  </td>
</ng-container>
票数 2
EN

Stack Overflow用户

发布于 2019-07-02 19:40:46

我对material和/或ngx-translate不是很熟悉,但我认为你的上一个代码片段是正确的,除了你试图转换列id而不是它应该显示的文本。试试这个:

代码语言:javascript
复制
<ng-container matColumnDef="name">
    <th mat-header-cell *matHeaderCellDef  mat-sort-header="name">{{ 'generic.name' | translate }}</th>
    <td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56850276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档