带有父控制器/指令的深层嵌套指令

时间:2015-11-10 18:32:08

标签: javascript angularjs forms angularjs-directive

这是嵌套指令的一个人为设想的例子,但希望你能理解我想要实现的目标:

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>吗?

TLDR:获得孙子指令与祖父母交谈的最佳途径是什么? $emit() ---&gt; $on()?我对服务非常熟悉,但我不希望这项服务必须跟踪状态,Form对象本身包含所有状态。

0 个答案:

没有答案