我们如何使用angular-new-router以角度1.4在控制器内观察表达式

时间:2015-05-11 12:39:20

标签: angularjs angular-new-router

由于我们无法在Angular 1.4+中注入$scope内部控制器,我们如何按照以前与$scope.$watch的方式观看表达式?

可以看到注入$scope的尝试here(“无法实例化控制器”错误),教程告诉我们:

  

如果我们传递$ scope,Angular将无法实例化控制器   在里面。它定义了它的可观察属性。   (source

3 个答案:

答案 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;

});

}