2014-05-18 52 views
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'}); 
+0

通常,特別是在這種情況下,您最好使用服務在控制器之間進行通信而非Angular事件。從一個控制器或指令(即你的導航欄),你可以調用一個服務,並在那裏爲你的其他控制器在初始化時收集一些數據。 –

回答

1

什麼,你需要做的是建立一個service|factory並初始化或當你第2頁初始化它將從提取信息設置您的服務數據service|factory

相關問題