すでに良い情報があるという質問をするのは嫌いですが、実装が機能しない原因となるものが不足しています。
私のシナリオでは、サービスで再帰関数を使用して、反復チャンクでデータをロードしています。すべてのデータがスコープによってキャプチャされますが、別の場所に移動してから再度戻らない限り、最初のセットのみが表示されます。明らかに、スコープを $watch する必要があります。どうすればいいのかわかりません。
AccountService は、1 の引数が渡される getAccountsByPage というメソッドを実行します。その後、その関数は値 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 を使用しないように言っていますが、誰もがそうしているようです...