2013-08-26 48 views
0

我在文件a中有一個控制器,當它做了某事我希望它調用一個函數或文件b中的控制器。那可能嗎?我正在使用ng-grid,所以我的推理是在文件a中調用afterSelectionChange,我希望我的其他網格更新,並且我無法合併文件或使用$watch函數,因爲這佔用了太多時間當加載一個頁面。我最終也試圖解決這個問題。他們都是一樣的:Angularjs控制器在另一個文件中與另一個控制器進行通信

Ng-Grid flickers grid when updating

而這僅僅是重新審視它。如果有人能夠回答那很好!

回答

1

您應該使用注入兩個控制器的服務。我在http://bit.ly/ZVvj1M找到一個簡單的例子。這應該說明如何做到這一點。

1

使代碼位於不同的文件中並不會影響任何內容。當頁面加載時,所有的文件都會被加載到瀏覽器中,所以你只需要一種方式讓他們進行通信。

有很多方法可以讓2個控制器進行通信,但它完全依賴於您正在嘗試實現的內容,這將決定處理它的最佳方式。如果控制器a和控制器b均具有對同一模型的引用,則可以通過更新模型在它們之間進行通信。模型的變化將立即反映在兩個控制器中。如果模型是分開的(請舉例說明),那麼服務可能是更好的溝通方式。如果你正在做一些完全不同的事情,那麼可能會有更好的方法來完成這一切。

無論如何,請給出更具體的信息,確切地說明您正在嘗試做什麼以幫助我們找到最佳答案。

相關問題