我正在尝试编写一个指令来检查其中的内容值,以决定是否应该将某些类应用于该元素,以及格式化内容(如果指令是,则可能通过将内容强制转换为过滤器应用)。
我希望调用该指令的语法如下
<div my-directive>{{foo}}</div>
并输出类似<div ng-class='a?b:c'>{{foo | myFilter }}</div>
我知道使用<div my-directive='foo'></div>
可以做到这一点,但我想知道我的首选方式是否可以在整个应用程序中实现一致性。
当我尝试在post-link函数中访问element.text()
时,我只得到{{foo}}
而不是渲染值。有没有办法在绑定到HTML后访问指令节点内容的值?
答案 0 :(得分:0)
如果您希望获得{{foo}}
表达式在您的指令中评估的值,您可以使用$eval
和$interpolate
服务的组合,就像这样:
var fooValue = scope.$eval($interpolate(elem.text()));
这里有JSFiddle来演示。