2014-04-12 65 views

回答

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預期現在應該工作。

+0

我試圖用「HomeController的」路由,因爲我想在這兩個視圖上解析'userInfo'如果你必須檢查頁面刷新上的用戶會話信息,那麼我只想使用會話服務解析userInfo並注入'HomeController',以便用戶在加載頁面時看到他的名字..對此的任何解決方案?也不知何故ngShow和ngHide似乎不工作..這裏是更新的[plunk](http://plnkr.co/edit/KH7lgNOG7iCAEDS2D3C1?p=preview)。 – goutham

+0

您的解決方案功能未返回有效的承諾,我已爲您更新[此處](http://plnkr.co/edit/qljJx623U0DWLGgNTpw7?p=preview)。要保存userInfo,請使用$ cookieStore或$ window.localStorage。 – morloch