这是嵌套指令的一个人为设想的例子,但希望你能理解我想要实现的目标:
http://plnkr.co/edit/FLNzNcfdCc8dHut1Bgsq
无论如何,让我们举一个例子:说我们有一些自定义表单对象,其中包含部分,子部分和类别:
-brutto*fee/100
现在,您将在此处看到指令层次结构,其中每个指令都需要上面的指令:
<my-custom-form form="form"></my-custom-form>
我的<my-custom-form>
<section>
<subsection>
<category></category>
</subsection>
<section>
<my-custom-form>
指令与<category>
指令对话的最佳方法是什么?根据Plunker,您可以看到我通过每个控制器一直向上传递消息,但这看起来很脏且不可持续,我最终会复制很多代码(例如,您将注意到{ {1}}方法被复制了4次,因此<my-custom-form>
可以与isCategoryVisible(category)
对话!
我是否缺少一个规范的角度模式?我应该只为我的所有指令提供相同的控制器,而不是试图将它们放在这个层次结构中吗? Angular是否期望我做我在这里所做的事情,并在控制器上传递消息?有机会使用<category>
和<my-custom-form>
吗?
$emit()
---&gt; $on()
?我对服务非常熟悉,但我不希望这项服务必须跟踪状态,Form对象本身包含所有状态。