Angular UI Router - 模板内部的功能无法正常工作

时间:2014-04-12 20:34:18

标签: javascript angularjs angular-ui-router

我正在学习使用Angular UI路由器来控制应用程序的不同部分。

看看这个plunkr(http://plnkr.co/edit/KH7lgNOG7iCAEDS2D3C1?p=preview

事情不起作用:

  • 加载视图时,{{logger}}值未更新,尽管我已在Homecontroller中初始化它。

  • 登录和注销按钮无法按预期工作。

非常感谢。

1 个答案:

答案 0 :(得分:0)

原来是一个非常复杂的问题。要将控制器应用于多个视图,您需要使用ng-controller将控制器直接应用于html(例如ng-controller="HomeController"。从那里,您可以将各个控制器应用于每个视图。

因此,要解决问题,请将controller: 'LoginController'添加到views.navbar对象,然后您将需要以下两个控制器。

.controller('LoginController',
  ['$scope','userInfo',function($scope,userInfo){
    $scope.login = function(){
      $scope.model.logger += "Logged in \n";
      $scope.model.user = userInfo;
    }

    $scope.logout = function(){
      $scope.logger += "logged out \n";
      $scope.user = false ;
    }
  }])
.controller('HomeController',
  ['$scope',function($scope){
    $scope.model = {
      user: null,
      logger: 'Nothin to log yet :'
    };
  }]);

这是updated plnkr现在应该按预期工作。