2015-03-02 15 views
0

我想知道什麼是讓應用的不同部分彼此交互的首選方式。什麼是使angularjs應用程序的不同部分彼此交談的首選方法?

例如,假設我們有一個指令A,它在用戶的購物籃中顯示產品。該指令可以訪問允許對項目執行CRUD操作的持久性服務。

我們還可以說我們有一個指令B,它顯示一般的信息。

現在用戶決定從他的購物籃中刪除一件商品。是否可以接受,使其發佈事件這樣?:

$scope.$emit("item-deleted"); 

,然後讓B監聽此事件類型:

$scope.$on("data-received", function(event, next, current) { 
    // show up and tell "item deleted succesfully"  
}); 

是實現結果的好方法嗎?它絕對在其他框架和UI開發中。如果這是一種可行的方式,我只是在懷念。

謝謝

+0

事件和服務都是可能的,所以上面的解決方案很好。 – 2015-03-02 09:58:26

+0

如果發生事件,則必須將兩個指令保留在同一作用域層次結構中 – khanmizan 2015-03-02 10:15:17

回答

0

創建指令B中的服務,將用於一般信息提供數據。 將該服務注入到指令A的基礎服務中,然後用適當的消息調用該服務。

由於angularjs的雙向數據綁定,指令A應自動顯示此數據。

+0

與消息隊列類似。推進到A和B是必然的嗎? – nourdine 2015-03-02 09:58:23

+0

不,只需撥打服務A的服務B. – khanmizan 2015-03-02 10:17:13

相關問題