次のコードを検討してください。
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
ですか?