2014-02-18 226 views
0

我有一個現有的角度項目,有一些控制器真的很奇怪。它看起來像下面。結合角度控制器

app.controller('AppController', ['$scope', function ($scope) { 
var app = app_application; 
angular.extend($scope, app); 
$scope.itTransports = app.state.itTransports; 
}]); 

我有概念的東西,證明我試圖在this fiddle做,試圖混合上述控制器和我的概念in this fiddle但我似乎無法得到它的工作。我認爲這與上述控制器工作的怪異方式有關,但我無法將其打破得太厲害,因此無法與之前的開發人員進行交流。我會認爲,如果一個組合不能完成,那麼我需要一種方法讓一個控制器調用另一個控制器,但是我希望在我走下這條路之前確定。

編輯:我的主要目標是添加功能來檢查cookie是否存在。爲了簡單起見,我試圖在同一個控制器中執行此操作,但正如我之前所說的,我沒有添加新控件。

+1

你應該總體說明你正在努力完成什麼。在Angular中,控制器爲它們創建的作用域自動從父作用域(可能來自在DOM層次結構中定義更高的控制器)繼承。如果你正在做某種DOM操作或試圖添加一個行爲,你應該使用一個指令,在編寫指令時你可以有一個指令使用來自另一個指令的控制器。 – shaunhusain

+0

我並不是想搞亂DOM,只是試圖向它添加一個簡單的cookie檢查。 – user2920788

回答

1

如果您想要從多個控制器訪問某些常用功能(例如,檢查是否存在cookie),那麼您應該將該功能放入service並將該服務注入到兩個控制器中。

+0

這就是我一開始就想到的。只是想確保沒有其他選擇。 – user2920788