我在同一页面上有两个指令,但在另一个元素上。 类似的东西:Angularjs:指令加载顺序
<div directive-one>
<div directive-two></div>
</div>
在directiveOne,我创建一些变量(比方说,$scope.pageConfig.variable
)。 我想指令两个使用这个变量。
问题 - directiveOne不总是在directiveTwo之前加载。
问题是 - 有没有办法确保directiveOne在directiveTwo之前加载,以便该变量可用于directiveTwo?
谢谢:)
更新: 我已经找到了答案应该是在directiveOne使用控制器这样的:
return {
controller: function($scope){ $scope.variable = variable; },
link : ...
}
的问题是,我得到一个错误[$注入器:unpr]以这种方式使用时。这应该解决我的问题吗?任何想法为什么这会给我造成一个错误?
您可以给予指令1更高的优先级。请参阅https://docs.angularjs.org/api/ng/service/$compile - 优先 – hutingung
请显示您的指令代码。你在哪里把你的逻辑放在两个指令中,postLink? – runTarm
我把逻辑放在链接函数中。我试图使用控制器,这应该工作,但我得到一个错误。现在我看到每次将控制器放入我的任何指令时都会出现错误。不管控制器中有什么。奇怪... – yccteam