由于我们无法在Angular 1.4+中注入$scope
内部控制器,我们如何按照以前与$scope.$watch
的方式观看表达式?
可以看到注入$scope
的尝试here(“无法实例化控制器”错误),教程告诉我们:
如果我们传递$ scope,Angular将无法实例化控制器 在里面。它定义了它的可观察属性。 (source)
答案 0 :(得分:2)
我刚刚发现ngNewRouter上有bug导致此问题。它has been fixed,但尚未发布。
要解决此问题,请尝试以下操作:
$ git clone git@github.com:angular/router.git
$ cd router
$ npm install
$ gulp angularify
之后,将dist文件复制到您的项目中
答案 1 :(得分:2)
我遇到了这个并需要一个npm包;暂时没有让团队中的每个人都从源头构建。我们在npm上发布了一个解决此问题的临时包:npm install loomio-angular-router@0.5.7
注意:您可能需要将ng-viewport重命名为ng-outlet 才能使临时包正常运行。
答案 2 :(得分:2)
你在.activate中有$ watch可用。检查波纹管(从我的应用程序复制粘贴)。
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;
});
}