Angularjs 我可以强制以角度渲染指令的顺序吗?

Angularjs 我可以强制以角度渲染指令的顺序吗?,angularjs,angularjs-directive,angular-ui-router,Angularjs,Angularjs Directive,Angular Ui Router,我可以强制角度指令的渲染顺序吗 我的HTML: <body> <my-menu></my-menu> <ui-view></ui-view> </body> 该州有一个控制器: var someStateController = function($scope) { $scope.$emit('someCustomEvent', argument); }; 但是,在初始加载时,someStateCon

我可以强制角度指令的渲染顺序吗

我的HTML:

<body>
   <my-menu></my-menu>
   <ui-view></ui-view>
</body>
该州有一个控制器:

var someStateController = function($scope) {
    $scope.$emit('someCustomEvent', argument);
};

但是,在初始加载时,
someStateController
myMenuController
之前运行,因此侦听器不会捕获第一个
$scope.$emit()
。如果我导航到另一个也调用
$scope.$emit()
的页面,它就会工作。我可以使用
$timeout
,但是有一个延迟。

你试过设置优先级吗?@pankajparkar这很有效。只是不是初始加载。@aw04我该怎么做呢?您可以在指令上设置优先级(数字)(因此在菜单中,优先级为xxx),但仔细想想,我认为这对您的情况没有帮助。只有在同一DOM元素上有多个指令时才有意义。我已经重新创建了您的设置,但侦听器似乎在初始加载时工作。你能修改它以显示你的问题吗?
var someStateController = function($scope) {
    $scope.$emit('someCustomEvent', argument);
};