javascript - Angular $watch |从函数返回项目

标签 javascript angularjs

我很想知道为什么我总是要这样做

$scope.$watch( function() {
   return $scope.someData;
}, function( value ) {
   console.log( value );
});

对于实际观察数据的 Angular ,为什么我必须这样做,这是真正困扰我的事情之一,因为它看起来毫无意义。

如果我这样做

$scope.$watch($scope.someData, function( value ) {
   console.log( value );
});

哪个更好,它从来没有用过?

我也经常在工厂中使用它

$data是我要做的工厂

$scope.$watch( function() {
   return $data.someData;
}, function( value ) {
   console.log( value );
});

最佳答案

我想值得一提的是,将函数传递给 $watch 在您想监视条件时很有用:

$scope.$watch(function() { 
    return $scope.data.length > 0; 
}, function() {
    // Do something every time $scope.data.length > 0 changes
});

$scope.$watch(function() { 
    return $scope.prop1 && $scope.prop2;
}, function() {
    // Do something every time $scope.prop1 && $scope.prop2 changes
});

关于javascript - Angular $watch |从函数返回项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214774/

相关文章:

angularjs - Angular Material Design Gridlist 上的点击事件

javascript - Jquery 对话框未使用 Angular 范围填充

javascript - 如何在 Angular 中移动图像( Blob )数组?

javascript - 表 ng-repeat 的输入验证

javascript - $http数据,类型错误: Cannot call method slice of undefined

javascript - Google Charts 工具提示闪烁

javascript - jQuery 图像加载 - 多个完成函数执行

javascript - JS中字符串的格式化输出

javascript - 单击时输出字段和按钮消失

angularjs - 从 Angular 2 和 Silverlight 应用程序使用相同的 WCF 服务