我有一个组件,其@NgOneWay
绑定属性message
。我的html模板中有{{cmp.message}}
,它会在属性更改时自动更新。如果我想运行myFunc
- 函数,当cmp.message
更改时,我可以在构造函数中使用_scope.watch('message', (newValue, oldValue) => myFunc(), context: this);
。
是否有默认功能,当message
- 属性发生变化时会触发,例如onMessage()
?
或ng-directive,可以代替watch
使用,例如ng-onmessage="cmp.myFunc()"
?
答案 0 :(得分:1)
我认为最简单(和恕我直言最美)的解决方案是将cmp.message
实现为getter / setter并在setter中执行您的函数。
这样你根本不需要手表。
var _message;
@NgOneWay
get message => _message;
set message(val) {
_message = val;
myFunc();
}