use*_*ert 1 javascript angularjs ecmascript-6
我在ES6项目中使用$ scope.$ watch时遇到了一些问题.手表发射一次,然后再也不会发射.
这是代码:
export class SomeController {
constructor($log, $scope) {
'ngInject'
this.watched = 1;
$scope.$watch('watched',(nv,ov)=>{
$log(nv); //only fires once
});
}
otherMethods(){}...
}
Run Code Online (Sandbox Code Playgroud)
具体来说我使用的是这个发生器:https://github.com/Swiip/generator-gulp-angular
你可以试试这个:
$scope.$watch(() => this.watched, function (nv, ov) {
console.log(nv);
});
Run Code Online (Sandbox Code Playgroud)
正如这里解释的那样.
这是一个演示的小提琴.
而且,事件会在$digest周期中触发:
DOM事件(用户更改输入字段的值,单击按钮以调用JavaScript函数等)
XHR响应触发回调
浏览器的位置发生了变化
触发器(setTimout,setInterval)触发回调
或者如果你明确地称它.
| 归档时间: |
|
| 查看次数: |
3260 次 |
| 最近记录: |