Javascript 隔离作用域angularjs、放弃依赖项注入、可重用组件

Javascript 隔离作用域angularjs、放弃依赖项注入、可重用组件,javascript,angularjs,angularjs-directive,isolate-scope,Javascript,Angularjs,Angularjs Directive,Isolate Scope,我已经有一段时间没有真正地去摆弄angularjs的指令了,我现在还没有很好地掌握它。在我深入研究它之前,我在思考如何对它们的组件做出反应 因此,我搜索了如何使用指令创建可重用组件,并找到了这篇文章: 但是他的最终解决方案的实现是相当模糊的,因为我不知道如何正确使用它 假设我创建了一个title指令: <epw-title store="epwEventStore">{{vm.title}}</epw-title> 其中,epw事件列表呈现一个列表,单击时应更改epw

我已经有一段时间没有真正地去摆弄angularjs的指令了,我现在还没有很好地掌握它。在我深入研究它之前,我在思考如何对它们的组件做出反应

因此,我搜索了如何使用指令创建可重用组件,并找到了这篇文章:

但是他的最终解决方案的实现是相当模糊的,因为我不知道如何正确使用它

假设我创建了一个title指令:

<epw-title store="epwEventStore">{{vm.title}}</epw-title>
其中,
epw事件列表
呈现一个列表,单击时应更改
epw标题
vm.title
的值

这怎么可能

更新

Q:它们是嵌套的吗? A:不,他们是兄弟姐妹。

不要将服务放在视图中 为了避免任何误解,如果
epwEventStore
是AngularJS服务(例如
provider
factory
Service
),则它不应像这样作为属性值放在模板中:

<epw-title store="epwEventStore">{{vm.title}}</epw-title>
其中,例如,两个指令都可以访问和操作相同的数据

角度方式是声明性的 按照Angular的理念,如果您的
指令
依赖于一个服务,那么您可以在指令的定义中声明它。因此,无论谁阅读代码,都会立即知道所有依赖项。这使得代码具有可读性


这篇文章的作者似乎建议使用
事件
。这是发布-订阅模式。但是,在
指令
中使用它,尤其是在
$rootScope
中使用它,会使指令“泄漏”,因为它不再被封装,并且可能会影响外部状态并受到影响。更糟糕的是,读者现在已经手动搜索所有代码库,以查找受
指令发出的事件影响的人。此模式有其用途,但应小心使用。

请添加plunkr/Fiddle,我可以,但我不能,因为目前还没有任何内容,希望有人能对此主题有所了解。这两个指令元素是否嵌套?他们是兄弟姐妹。我将把它添加到问题中:
vm.title
的值将如何从
epw事件列表
更改?
<epw-title store="epwEventStore">{{vm.title}}</epw-title>
...
.directive("first", function(myService) { 
   ...
})

.directive("two", function(myService) { 
   ...
})
...