【问题标题】:Using ng2-translate pipe or directive for placeholder使用 ng2-translate 管道或指令作为占位符
【发布时间】:2026-01-31 17:10:01
【问题描述】:

我想使用 ng2-translate 作为占位符。我发现的唯一方法是使用 ng2-translate 服务并将变量传递给占位符,如下所示:

class Form {
  placeholder: string;

  constructor(translate: TranslateService) {
    translate.get('placeholder.value').subscribe(
      (placeholder: string) => this.placeholder = placeholder,
    );
  }
}

<input type="email" placeholder={{placeholder}}/>

但它看起来很笨重。有没有办法将 ng2-translate 用于带有管道或指令的占位符?

【问题讨论】:

    标签: angular ng2-translate


    【解决方案1】:

    根据documentation,如果你的语言json文件在下面

    {
      "placeholder": {
        "value" : "Your placeholder text"
      }
    }
    

    那么你可以使用translate pipe 如下:

    <input type="email" [placeholder]="'placeholder.value' | translate" />
    

    【讨论】:

    • 对我来说,这种情况适用于文本(div、span 等),但输入时它呈现的不是输入控件而是文本:
    • 可能是&lt;input type="email" [placeholder]="'placeholder.value' | translate" /&gt; 会起作用,检查一下。