0
我有一個menuController正常的導航欄,這是父母。
在這個menuController是一個方法'sendData()'的廣播方法和位置調用「$ location.path('/ page2')」,它將我重定向到第2頁.. sendData()方法被觸發如果我點擊我的導航欄上的鏈接。
廣播方法應該發送一個事件與一些數據到第2頁上我的其他控制器。
在我的page2控制器是$ on方法應該接收事件..但問題是,在這個時候我點擊了發送廣播的導航欄鏈接..第2頁上的控制器沒有初始化。這意味着$上的方法也沒有初始化,所以我不能接受事件..
所以我能做些什麼來解決這個問題?在我發送廣播事件之前,我的page2控制器中的$ mehtod必須被初始化。我怎樣才能做到這一點 ? 我用初始化我控制器上routeProvider ..
$routeProvider.when('/page2', {templateUrl: 'partials/page2.html', controller: 'page2Controller'});
通常,特別是在這種情況下,您最好使用服務在控制器之間進行通信而非Angular事件。從一個控制器或指令(即你的導航欄),你可以調用一個服務,並在那裏爲你的其他控制器在初始化時收集一些數據。 –