angularjs-从属性(而不是解析值)获取绑定表达式

angularjs-从属性(而不是解析值)获取绑定表达式,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我正在做一个指令,根据这个指令在图像之间交叉淡入淡出: 我不想查看某个特定字段,而是希望查看图像在ngSrc中绑定到的任何内容。因此,而不是(咖啡脚本): 我想使用: $scope.$watch attributes['ngSrc'], (newValue, oldValue) -> 其中DOM元素如下所示: <img cross-fade-on-change ng-src="{{data.ActiveImage}}"/> 问题是,watch表达式正在解析为绑定url

我正在做一个指令,根据这个指令在图像之间交叉淡入淡出:

我不想查看某个特定字段,而是希望查看图像在ngSrc中绑定到的任何内容。因此,而不是(咖啡脚本):

我想使用:

 $scope.$watch attributes['ngSrc'], (newValue, oldValue) ->
其中DOM元素如下所示:

<img cross-fade-on-change ng-src="{{data.ActiveImage}}"/>


问题是,watch表达式正在解析为绑定url,而不是绑定表达式。如何/可以这样做?

您应该使用
$observe
而不是
$watch

attrs.$observe 'ngSrc', (value) ->
  • $observe用于观察属性插值($interpolate)
  • $watch用于根据作用域($parse)计算表达式
从文档中: $observe(键,fn) 观察插值属性

$watch(watchExpression、listener、objectEquality) 注册在watchExpression更改时执行的侦听器回调

attrs.$observe 'ngSrc', (value) ->