[英]Directive priority in Angular not working
我有这个元素:
<div ace-editor dl-editor></div>
这些指令:
angular.module('DLApp')
.directive 'aceEditor', () ->
restrict: 'A'
priority: 10
scope: false
link: linkFunc1
.directive 'dlEditor', (Graph) ->
restrict: 'A'
priority: 0
scope: false
link: linkFunc2
(我知道0
是默认值)
dlEditor
总是首先被执行,然后是aceEditor
。 我究竟做错了什么?
根据文件 :
强调我的
优先
当在单个DOM元素上定义了多个指令时,有时需要指定应用指令的顺序。 优先级用于在调用编译函数之前对指令进行排序。 优先级定义为数字。 首先编译具有更高数字优先级的指令。 预链接功能也按优先级顺序运行, 但后链接功能以相反的顺序运行 。 具有相同优先级的指令的顺序是未定义的。 默认优先级为0。
因此,首先编译具有较高优先级的指令( aceEditor
),但它的后连接功能(这似乎是您感兴趣的)最后运行。
您应该在预链接功能中移动逻辑(如果这适用于您的情况)或反转优先级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.