2013-03-12 68 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为每个指令内的服务数据的变化。