Angularjs 一种背上ng bind的方法?

Angularjs 一种背上ng bind的方法?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个自定义指令,可以调整框中文本的大小,使其始终保持在一行。当里面的文本来自服务器时,它工作得非常好,但是现在我尝试将它用于angular controller生成的动态文本,当文本填充时它不会更新。有人知道一种方法可以利用ng bind在幕后设置的所有手表吗 我的指令名为textToFill,因此理想情况下,我希望能够查看内容,无论它是通过ng bind绑定还是通过插值绑定 <div text-to-fill ng-bind="testText"></div> &l

我有一个自定义指令,可以调整框中文本的大小,使其始终保持在一行。当里面的文本来自服务器时,它工作得非常好,但是现在我尝试将它用于angular controller生成的动态文本,当文本填充时它不会更新。有人知道一种方法可以利用ng bind在幕后设置的所有手表吗

我的指令名为textToFill,因此理想情况下,我希望能够查看内容,无论它是通过
ng bind
绑定还是通过插值绑定

<div text-to-fill ng-bind="testText"></div>
<div text-to-fill>{{ testText }}</div>

{{testText}}

有人知道这是否可行吗?

非常简单地说,我会在我的指令的link函数中创建一个watch表达式,监视attrs.ng-bind,然后在此基础上重新应用文本大小调整。

这对插值不起作用,插值很好,除非它对类似
ng-bind的东西不起作用=“testText+”“+testText2”“
我的意思是它可以。。。您只需获取文本值,然后拆分以显示一个值数组(在本例中为testText testText2),然后观察一个表达式数组的更改,然后应用文本变形。如果您真的很懒,并且性能不是一个全部问题,您可以在整个范围内观察更改,然后应用如果重量足够轻,则会发生变化$作用域。$watch(函数(){});您执行的任何函数都可以使用下划线进行限制,以便它不会每秒触发太多次。