我有一个控制器,它的计数器会不时变化。 该计数器与指令的属性绑定,并在该指令的链接函数内部读取。
每当attr值更改时,如何让指令运行函数?
谢谢。
里面的相应的link功能:(假设你的属性称为counter你的范围变量是:scope)
link
counter
scope
scope.$watch(attrs.counter, function (newTime) { //do something with the new Time });
其他方式,肯定是更有效的方式:
在指令内部,将scope属性设置如下(它将被隔离):
scope: { counter: '@'}
counter只要link调用该函数,就会自动观察提供当前值的。
'@'比'='这里要好,因为我想您不会在指令中将计数器设置为新值,这意味着您只读取了它。实际上,=它对于双向数据绑定更为有用,但是您可能不需要它。
'@'
'='
=