0
我有一個控制器(說主控制器)控制主頁,也維護所有事件偵聽器,像$locationChangeSuccess
等聽AngularJS控制器初始化事件外
我有在引用了幾個控制器使用ng-include
包含在主頁中的部分。這包含了一些自定義路由邏輯,可以讓我決定加載哪個部分。這也相應地改變了URL。
我可以使用$locationChangeSuccess
事件收聽位置更改。但是,這並不能保證與通過ng-include
加載的部分對應的控制器已經被初始化。
我知道我們可以在$scope
上使用$viewContentLoaded
這部分的控制器。但是,我必須避免將任何事件監聽器放在主控制器之外。有沒有辦法實現這一點?
謝謝@Santiago。理想情況下,我想讓子控制器免受任何鍋爐板代碼的影響,例如'$ scope。$ parent.inited = true'。主控制器是否有其他方式檢測到位置更改後的頁面加載已完全完成? – 2014-12-01 21:58:57
你可以從你的子控制器發出和發出事件,並像你從主控制器那樣收聽 – 2014-12-02 14:39:19
我想避免任何事件相關的邏輯進入子控制器。順便說一句,我能弄清楚從主控制器收聽'$ includeContentLoaded'解決了我的問題。 – 2014-12-03 04:13:34