Angular 1.4+ ではコントローラー内に注入できない$scope
ため、以前のように式を監視するにはどうすればよい$scope.$watch
でしょうか?
挿入の試みはここで$scope
確認できます(「コントローラをインスタンス化できませんでした」というエラー)。チュートリアルでは次のように説明されています。
$scope を渡すと、Angular はコントローラーをインスタンス化できません。これは、監視可能なプロパティを定義します。(ソース)
私はこれに遭遇し、npm パッケージが必要でした。当分の間、チームの全員がソースからビルドするのは良くありません。この問題を修正する暫定パッケージを npm でリリースしました。npm install loomio-angular-router@0.5.7
注:暫定パッケージを機能させるには、ng-viewport の名前を ng-outlet に変更する必要がある場合があります。
$watch が .activate で利用可能です。以下を確認してください(私のアプリからコピーして貼り付けてください)。
function accountHistoryController (authService, accountFactory, CONSTANTS, $q, $routeParams) {
}
accountHistoryController.prototype.canActivate = function() {
return !!this.authService.isAuthenticated();
}
accountHistoryController.prototype.activate = function($scope) {
console.log ($scope);
$scope.$watch('_this.currentPage', function(newPage){
if (newPage == undefined) return;
});
}