我讨厌问已经有很好信息的问题,但我错过了一些东西来阻止我的实施工作。
我的场景是在服务上使用递归函数以迭代块的形式加载我的数据。所有数据都由示波器捕获,但仅显示第一组数据,除非您导航离开然后再返回。显然,我需要 $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 但似乎每个人都这样做......