【发布时间】:2013-10-10 02:26:08
【问题描述】:
我讨厌问已经有很好信息的问题,但我缺少一些东西来阻止我的实现工作。
我的场景是在服务上使用递归函数以迭代块的形式加载我的数据。所有数据都由示波器捕获,但仅显示第一组数据,除非您导航离开然后再返回。显然,我需要 $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,但似乎每个人都这样做......
【问题讨论】:
标签: javascript angularjs watch