2017-07-20 40 views
0

有沒有什麼辦法可以使頁面上的一個函數能夠被調用,並在頁面上的自定義指令鏈接的其他頁面的任何事件成功時執行?角Js從另一個頁面調用一個頁面的方法

場景:我有一個網格有不同的列,以及一個自定義指令,我通過打開該行的特定模式彈出窗口編輯數據,現在我想在父頁面上調用一個方法來驗證新的值如果不正確,最終的「提交」按鈕將被禁用,否則會自動啓用。

我會感謝幫助,我疲倦的傳遞方法到自定義指令,但它沒有奏效。

+0

您的代碼,請 –

+0

好像你想在該指令的輸出結合 - 您可以定義功能父頁面,但從指令中調用它。查看https://docs.angularjs.org/guide/directive(ctrl + f查找'&') – Sophie

回答

0

你可以給一個鏡頭$emit$broadcast服務:

$發出

它發送一個事件的名稱,通過向上的範圍和層次通知註冊$ rootScope.Scope聽衆。事件生命週期從調用$ emit的範圍開始。事件向上遍歷根範圍,並沿途呼叫所有註冊的聽衆。如果其中一位聽衆取消了該事件,該事件將停止傳播。

$廣播

它向下調度事件名稱到所有子範圍(和他們的孩子),並通知已註冊$ rootScope.Scope聽衆。事件生命週期從$ broadcast被調用的範圍開始。該範圍內的所有事件監聽者都會收到通知。之後,該事件向下朝向子範圍,並呼叫所有已註冊的聽衆。該活動無法取消。

$上

它監聽特定類型的事件。它可以捕獲由$ broadcast和$ emit調度的事件。


演示工作代碼,直觀地顯示範圍樹(父/子關係):
http://plnkr.co/edit/0kUXvoRkPPNJpQ2C2xWU?p=preview

相關問題