http://jsfiddle.net/kz26/kH9wg/
我正在玩AngularJS中的指令,并尝试了简写指令样式(仅返回链接函数)和longhand样式(返回指令定义对象的全部或部分).
不幸的是,我只能使用popup2中定义的速记方式使指令工作(激活jQuery弹出窗口). longhand popup2指令似乎根本不起作用,特别是我的定义对象中的链接函数永远不会被调用.我需要做些什么才能使这个显式链接声明起作用?
解决方法
在创建指令时,两个指令都使用一个小的调整来重用相同的模块,而不是覆盖第一个指令.见
this fiddle.
而不是做:
angular.module("app",[]).directive('popover1'... angular.module("app",[]).directive('popover2'...
做这样的事情:
var module = angular.module("app",[]); module.directive('popover1'... module.directive('popover2'...
编辑:看了docs之后,我发现你可以做一些类似于原帖的内容,就像这样:
angular.module('app',[]).directive('popover1'... angular.module('app').directive('popover2'...
在第一个到angular.module之后的后续调用中省略第二个参数[]以配置现有模块.