2013-03-12 64 views
0

我需要有兩個基於元素的指令。Angularjs:基於元素的指令通信

的都有自己的UI因此爲什麼我用限制:「E」

我需要一種方法來從一個/或多個指令數據傳遞到另一個

兩個指令發送數據有兩種因此不同的控制器(一個在頁頭,和一個在頁面體)試圖使用

scope: { 
    onNotify : "&" 
} 

只是變得雜亂,因爲範圍是不同的。

我能想出的最好的是「消息總線」模式。在那裏我已經介紹了3日(歸因爲主)指令,它暴露了一個 「API」

api = { 
    addListener : function(event, fn), 
    publish : function(event, data) 
} 

的jsfiddle這裏:http://jsfiddle.net/concept/dELCv/

我的問題是:

  1. 這是在-實際上只如何獲得兩個基於元素的指令進行通信?
  2. 範圍感覺不對,因爲我不得不使用$(document).data(「fc-bus.api」,api)在控制器之間共享api實例。有人可以請建議的共享控制器

它的工作原理,我想這是很好的API更好的辦法,但它真的不會覺得很「角」與全球範圍的API

我期待所有的答案和意見

回答

1

而不是第三個指令,創建一個服務共享數據和$watch爲每個指令內的服務數據的變化。