次のコードを検討してください。
function ListCtrl($scope){
this.fetchResults = function(){};
// so I can pass this as a reference & spyOn fetchResults
function fetchResults = function(){return this.fetchResults()}.bind(this);
$scope.page = 1;
$scope.order = null;
$scope.$watch('page',fetchResults);
$scope.$watch('order',fetchResults);
this.fetchResults();
}
このコードをこの方法で記述したいので、各時計が をトリガーするかどうかをテストできますfetchResults。しかし、このように、初期化すると、 3回ListCtrl呼び出しますfetchResults
- 明示的に呼び出された
- 為に
$watch('page') - 為に
$watch('order')
ListCtrl初期化時に一度だけ呼び出しを行うにはどうすればよいfetchResultsですか?