Angular ngx-translate-如何为转换值中缺少的参数设置默认值

如果程序员不提供转换值,我希望在转换值中使用默认值。

例如,对于en.json中的此键:

"NoRecordsWereFound": "No matching {{records}} were found for your search.",

在HTML中,当提供records参数时,例如:

<span>
    {{('NoRecordsWereFound' | translate:{ records: 'books' })}}
</span>

我将进入浏览器:

找不到

找不到与您匹配的图书

但是如果不提供参数,例如:

<span>
    {{'NoRecordsWereFound' | translate}}
</span>

而不是得到这个: 没有匹配的 {{records}} 用于搜索。

我将为其获取一些默认值,例如:

未找到与您搜索相匹配的 defaultvalue

有可能吗?谢谢!

lytdydy 回答:Angular ngx-translate-如何为转换值中缺少的参数设置默认值

Ngx-translate没有提供这种功能,但是您在Angular中有很多选择可以实现。以下是一些建议:

1。 * ngIf

的使用

您可以使用* ngIf来引用其他翻译:

<span *ngIf="books">
    {{('NoRecordsWereFound' | translate:{ records: books })}}
</span>
<span *ngIf="!books">
    {{('NoRecordsWereFound Default' | translate )}}
</span>

2。在初始化或错误状态下设置默认值

您始终可以在组件初始化时设置默认值,或者如果执行了某些方法调用,则可以为错误响应设置默认值。

@Component({
  selector: 'my-app',template: `
   <span>
    {{('NoRecordsWereFound' | translate:{ records: books })}}
   </span>
  `,})
export class AppComponent  {
  books = 'default value';
}

您还可以使用商店为不同方案设置默认状态。

本文链接:https://www.f2er.com/2845604.html

大家都在问