将表达式不是结果传递给指令

Passing expression not result to directive

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

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

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

但这里我有指令获取属性然后传递给 input

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

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

如何传递这样的值?

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

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