如何在angular-translate中传递参数

时间:2015-11-27 13:20:59

标签: javascript angularjs

我创建了一个执行错误检查的函数,并将用于不同的输入字段。我的功能代码如下:

errorChecks = (element, minlength) => {
   if (element.$dirty) {
      if (element.$error.required == true) {
         this.errorMessage = "REQUIRED";
         return;
      } else if (element.$viewValue.length < minlength) {
          this.errorMessage = "MINLENGTH" // MINLENGTH error with parameters here
          return;
      } else {
          this.errorMessage = null;
          return;
      } 
   }
}

我正在使用angularjs翻译我的错误消息。

"MINLENGTH": "{{ element }} must be at least {{ value }} characters",

我想通过将参数传递给翻译来动态更改我的错误消息,如:

errorChecks(username, 5);

如果我在用户名字段中输入1个字符,则会出现错误:username must be at least 5 characters

我想做的甚至可能吗?

5 个答案:

答案 0 :(得分:25)

除非您想将elementminlength传递给模板,否则最好是在控制器内部进行翻译。

首先,您需要将$translate注入控制器。然后生成您的消息:

this.errorMessage = $translate('MINLENGTH', { element: element, value: minlength });

此方法也列出here

要在模板中执行此操作(概述为here):

{{ MINLENGTH | translate : '{ element: element, value: minlength }' }}

答案 1 :(得分:3)

您也可以像这样在模板中执行此操作。

<span data-translate="MINLENGTH" data-translate-values="{ element: element, value: minlength }"></span>

答案 2 :(得分:1)

您也可以使用for (int x = 0; x < 100; x++) { String generated = example.getAlphaNumeric(16); codes.add(generated); System.out.println(generated.contains("love")); }

答案 3 :(得分:0)

对于想知道语法如何的人,使用方法检索输入内容进行翻译,这对我有用:

   {{ MINLENGTH | translate : { x: table.getShownCount(), y: table.getTotalCount() } }} 

答案 4 :(得分:0)

这对我来说很好:

{{'commisionMessage' | translate : {fee:fee} }}|

Json 文件

"commisionMessage": "BLA {{fee}} BLA BLA"