在angularjs中先执行我的指令
我有一个不能更改的指令a(预定义的指令)。 我想创建另一个指令B,其中应该首先调用link函数(在A之前)。 我怎么做?(比方说,我不知道指令A的优先级是什么——如果相关的话……) html的结构是指令B是指令a的子指令:在angularjs中先执行我的指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个不能更改的指令a(预定义的指令)。 我想创建另一个指令B,其中应该首先调用link函数(在A之前)。 我怎么做?(比方说,我不知道指令A的优先级是什么——如果相关的话……) html的结构是指令B是指令a的子指令: <DirectiveA><DirectiveB></DirectiveB></DirectiveA> 回答: 优先级不相关,只有在同一元素上有多个指令时才重要 你不需要做任何特别的事情,因为事实已经如此。子元素后链接函数始
<DirectiveA><DirectiveB></DirectiveB></DirectiveA>
回答:
- 优先级不相关,只有在同一元素上有多个指令时才重要
- 你不需要做任何特别的事情,因为事实已经如此。子元素后链接函数始终在其父元素后链接函数之前运行
- 如果
(父元素)正在延迟DirectiveA
的创建,则您无法从DirectiveB
内部执行任何操作来阻止它DirectiveB
/ngRepeat
ngIf
ngSwitch
/ngView
都是延迟子元素创建的指令的好例子ngInclude
来源 从 优先 当在单个DOM元素上定义了多个指令时,有时需要指定应用这些指令的顺序 发件人: 前后链接功能 不同之处在于,
prelinkfunction()
将首先在父对象上激发,然后在子对象上激发,依此类推。PostLinkingFunction()
的顺序相反,首先向子对象开火,然后向父对象开火,依此类推
这篇文章很有用