传递表达式不是结果指令

时间:2015-09-27 12:09:27

标签: javascript angularjs angularjs-directive angular-translate

我使用了很棒的库angucomplete-alt。在引擎盖下,它创建input。我想翻译这个输入占位符。

在我的应用中,我使用anular-translate进行翻译。此库使用translate过滤器。对于常规占位符,我可以使用

<input placeholder="{{MY-KEY | translate}}">

但是在这里我有指令,它接受属性并传递给input

<angucomplete-alt id="ex1"
              placeholder="{{MY-KEY | translate}}"/>

所以我需要传递表达式而不是结果,因为我需要能够及时更改语言,并且每次都会调用过滤器

我如何传递这样的值?

1 个答案:

答案 0 :(得分:1)

angucomplete-alt(以及任何其他敏感指令)使用数据绑定将属性转换为子元素。这意味着每次"{{MY-KEY | translate}}"更改时,插值的input值都会分配给MY-KEY的占位符属性。如果行为translate过滤器已更改但MY-KEY未更改,则肯定无法使用。

切换translate过滤器的语言后,执行$rootScope.$apply()