递归服务函数上的角度$watch
Angular $watch on a recursive service function
我讨厌问已经有好信息的问题,但我缺少一些东西来阻止我的实现工作。
我的方案是在服务上使用递归函数在迭代块中加载数据。示波器会捕获所有数据,但仅显示第一组数据,除非您离开然后再次返回。显然,我需要$watch我的范围。我只是不知道该怎么做。
AccountService 运行一个名为 getAccountsByPage 的方法,该方法传递的参数为 1。然后,该函数使用值 2 调用自身,依此类推。
$routeProvider.when('/accounts/', {
...
controller: function ($scope, AccountService) {
var accounts = $scope.accounts = AccountService.getAccountsByPage(1);
$scope.$watch('accounts', function(newVal, oldVal) {
console.log(newVal, oldVal);
});
}
});
console outputs: undefined, undefined
[Object, Object, Object...] undefined
需要明确的是,获取数据不是问题。更新视图是。Angular 说不要在控制器上使用$watch但似乎每个人都这样做......
从您发布的代码来看,$scope.accounts
仅在控制器首次实例化时设置一次。AccountService.getAccountsByPage
下面做什么并不重要。无论它返回什么,都会被放入$scope.accounts
,并触发一次$watch
。在$scope.accounts
更改之前,它不会再次触发,我在发布的代码中看不到这种情况。
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- 监视函数从服务返回不起作用,但作用域函数起作用
- 通过Magento的网络服务检索运费
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 使用angular.js问题的JavaSpringREST服务
- AngularJS-需要在index.html页面中访问来自服务的数据
- 如何在Ionic2测试版中包含Ionic.io服务
- 基于api密钥的NodeJS web服务
- Redux应用程序结构-在哪里放置服务/业务逻辑
- Liferay:从portlet调用JSON服务
- 使用javascript在客户端上使用Web服务
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- Angular JS$编译服务导致$watch内存泄漏
- 使用 $watch 在属性更改时执行$http调用的角度服务
- 使用服务跟踪用户状态并使 $watch() 正常工作
- 递归服务函数上的角度$watch
- AngularJS:$watch服务中的其他服务
- Angular-$watch检查服务状态
- 为什么不是我的AngularJS $作用域?$watch在服务变更时被触发
- 我怎样才能$watch看到Angular服务的属性变化呢?