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

标签 javascript angularjs angularjs-directive angular-translate

我使用很棒的库 angucomplete-alt 。它在底层创建输入。我想翻译这个输入占位符。

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

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

但是这里我有一个指令,它接受属性然后传递给input

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

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

如何传递这样的值?

最佳答案

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

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

关于javascript - 将表达式而不是结果传递给指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807731/

相关文章:

javascript - 如何使用HTML5制作演示文稿?

javascript - 添加到数组时新对象会被覆盖

javascript - JSON 与 AngularJS : parent in nested ng-repeat

javascript - 变换 : translateX() issue for kendo-mobile-switch on ngDialog in AngularJS

Angular : $watch within directive is not working when $rootScope value is changed

angularjs - Angular 指令 ng-click 不起作用

javascript - AngularJS 文件浏览器

javascript - 正则表达式替换字符串中所有完全匹配的单词/字符

javascript - 从 Controller 中的指令获取生成的元素

javascript - 如何在 AngularJS 中使用 jQuery 插件?