2014-09-25 60 views
0

我很新的角度和JS,不知道如何實現非常簡單的行爲。所以......我有一個角度路由模塊,所有的視圖都是用ng-view指令改變的。這是聲明如何爲所有視圖創建全局控制器?

<body> 
    <div class="row main" ng-view> </div> 
<body> 

我有所有的控制器連接到這些意見。此外,我有一個共同的控制器的所有意見,我檢查該控制器中的cookie。如何在所有其他視圖中自動調用該控制器,而不依賴於其他控制器?

我試圖把它,但它被稱爲只有索引頁面上出現一次。

+0

檢查了這一點,http://stackoverflow.com/questions/22480738/angular-ui-router-call-parent-controller-function-from-child-controller – graphefruit 2014-09-25 19:09:04

+1

這個問題對我來說就是它真的是一個控制器你需要的。據我所知你確實想爲每個頁面執行一些代碼(用於cookie檢查),可能不需要。如果你想檢查用戶是否有cookie,我會建議在應用代碼中做這個。 – AirBorne04 2014-09-25 19:12:50

+0

你的意思是在服務器端? – 2014-09-25 19:15:43

回答

0

你可以做這樣的事情:

<body> 
    <div ng-controller="globalController"> 
     <div class="row main" ng-view> </div> 
    </div> 
<body> 

http://plnkr.co/edit/k2H8BsTCVh24nbR07GjP?p=preview

+0

這沒有幫助。當角度改變視圖時,這個div不會更新。 – 2014-09-25 19:14:46

+0

@你是正確的user1315599但你可以定期檢查的cookie $間隔來克服這個限制。 – 2014-09-25 19:21:51

+0

每次用戶更改視圖時,我都需要檢查cookie。因爲視圖的信息取決於用戶是否爲登錄。 – 2014-09-25 19:23:57

0

控制器,顧名思義,是爲了準備傳遞給視圖中的數據。

我會建議您與服務做到這一點,而不是。

該服務然後可以通過你在任何視圖訪問。

你可以想象,例如,實現一個解析器在您$ routeProvider.when將從該服務讀取cookie。 $ route也會在視圖發生變化時觸發事件,將會改變或改變。試着利用這個,這是非常強大的。

相關問題