控制器是你放入一些指令特定逻辑的地方。这个逻辑也可以进入链接函数,但是你必须把这个逻辑放到作用域上,使它“可共享”。这样做的问题是,你会用你的指令破坏作用域,这并不是你所期望的。
那么,如果两个指令想要彼此对话/合作,有什么替代方案呢?当然,你可以把所有的逻辑放到一个服务中,然后让这两个指令都依赖于那个服务,但这只会带来更多的依赖。另一种方法是为这个作用域提供一个Controller(通常是隔离作用域?)然后当另一个指令“需要”另一个指令时,这个控制器被注入到另一个指令中。参见angularjs.org首页的标签和窗格。< / p >
Post链接函数是其中post链接是最后执行的函数。现在transclusion完成了,the template is linked to a scope和view will update with data bound values after the next digest cycle。link选项只是设置post-link函数的快捷方式。
指令控制器可以传递给另一个指令链接/编译阶段。它可以被注入到其他指令中,作为指令间通信的一种手段。
你必须指定需要的指令的名称——它应该绑定到同一个元素或它的父元素。名称可以加上前缀:
? – Will not raise any error if a mentioned directive does not exist.
^ – Will look for the directive on parent elements, if not available on the same element.