2
我正在學習使用Angular UI路由器來控制應用程序的不同部分。Angular UI路由器 - 模板內部的功能不工作
看看這個plunkr(http://plnkr.co/edit/KH7lgNOG7iCAEDS2D3C1?p=preview)
事情不工作:
當視圖加載{{記錄}}在未更新值雖然我已經在初始化它主控制器。
登錄和註銷按鈕不按預期工作。
非常感謝。
我正在學習使用Angular UI路由器來控制應用程序的不同部分。Angular UI路由器 - 模板內部的功能不工作
看看這個plunkr(http://plnkr.co/edit/KH7lgNOG7iCAEDS2D3C1?p=preview)
事情不工作:
當視圖加載{{記錄}}在未更新值雖然我已經在初始化它主控制器。
登錄和註銷按鈕不按預期工作。
非常感謝。
原來相當複雜的問題。要應用控制器多個視圖,您需要將控制器直接適用於使用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預期現在應該工作。
我試圖用「HomeController的」路由,因爲我想在這兩個視圖上解析'userInfo'如果你必須檢查頁面刷新上的用戶會話信息,那麼我只想使用會話服務解析userInfo並注入'HomeController',以便用戶在加載頁面時看到他的名字..對此的任何解決方案?也不知何故ngShow和ngHide似乎不工作..這裏是更新的[plunk](http://plnkr.co/edit/KH7lgNOG7iCAEDS2D3C1?p=preview)。 – goutham
您的解決方案功能未返回有效的承諾,我已爲您更新[此處](http://plnkr.co/edit/qljJx623U0DWLGgNTpw7?p=preview)。要保存userInfo,請使用$ cookieStore或$ window.localStorage。 – morloch