Angular 如何在 html 中使用翻译 i18n 键作为函数参数

Angular how to use translate i18n key as a function parameter in html

我正在尝试将 i18n 翻译服务密钥作为参数函数传递给 html 组件。

我已经尝试了以下方法,但获取的是文本而不是获取密钥

我已经分配了一个标题为 component.ts

的变量
import { TranslateService } from '@ngx-translate/core';

constructor(public translate: TranslateService,) {

}
public title= this.translate.instant('title-key');

并在 component.html。我有这个变量作为参数函数

<a class="nav-link" (click)="functionName(title)" > {{'title-key' | translate}}</a>

应该发送的标题是任务 而是发送密钥 -> title-key

functionName(tabSelected) {
  switch(tabSelected) {
      case this.title:
        this.tab = true;
      break;
      default:
   }
}

    <kendo-tabstrip #tabstrip [keepTabContent]="true">
        <kendo-tabstrip-tab [title] = "title" *ngIf="tab" [selected]="true">
            <ng-template kendoTabContent *loadOnDemand>
              <app-component></app-component>
            </ng-template>
        </kendo-tabstrip-tab>
   <kendo-tabstrip>

click() 直接应用于 <a> 标签总是会遇到问题。试试这样:

<a href="javascript: void(0)">
    <i class="nav-link" (click)="function(getTitle())">{{'title-key' | translate}}</i>
</a>

而且您确实会使用点击功能而不是锚点的 href-event。

你的组件

public title: string;

constructor(private translate: TranslateService,) { 
}

getTitle(): string {
   return this.translate.instant('title-key');
}