我有一個AngularJS web應用程序,在註銷時我將重定向到登錄頁面。我希望登錄頁面中的某些字段根據從後端退出服務傳回的一些數據隱藏。AngularJS更新另一個控制器的範圍數據
有沒有辦法做到這一點?我只需要更新登錄控制器js中的變量,但我不知道如何從登出控制器js執行該操作。
請全力幫助AngularJS!
我有一個AngularJS web應用程序,在註銷時我將重定向到登錄頁面。我希望登錄頁面中的某些字段根據從後端退出服務傳回的一些數據隱藏。AngularJS更新另一個控制器的範圍數據
有沒有辦法做到這一點?我只需要更新登錄控制器js中的變量,但我不知道如何從登出控制器js執行該操作。
請全力幫助AngularJS!
你需要使用「值」選項,在您的應用程序
angular.module('yourAppName')
.value('Config', null);
,那麼你需要在你的控制器注入這使他們交流彼此的
.controller('controllerLogout', function(Config){
//do something that update Config
}
.controller('MainController' function(Config){
//use Config here to bind it in a ng-show in HTML controlled by
//coontroller itself
}
我很抱歉,因爲我對它很陌生,你到底注入了多少? – user3808203
我已經完成了:)查看控制器功能參數:P 現在您可以在兩個控制器中使用配置變量了 – shall
懷疑「值」會有幫助,運行後無法更改時間 – charlietfl
我想你可以使用事件。
在你登出控制器做到這一點:
$rootScope.$broadcast('loggedOut',data);
而且在你登錄控制器
$scope.$on('loggedOut', function(event, data) {
}
你描述是非常廣,可以實現任意數量的方法。如果您可以包含您正在使用的表單,要隱藏的字段以及一些示例數據,我們可以對我們的解決方案進行更具體的說明。 – Makoto
請給我一個您認爲可行的解決方案。謝謝 – user3808203
我之前提到這個過於廣泛的原因[可以在這篇文章中找到](http://meta.stackoverflow.com/q/323721/1079354)。如果你無法證明我們正在使用什麼約束條件,以及一種解決方案是否會客觀地爲你工作,那麼感覺就像一個完全太寬泛的問題,並會產生一些不同的答案。你應該縮小你的標準。 – Makoto