Javascript 确保所有AngularJS指令都已加载的最佳方法是什么?

Javascript 确保所有AngularJS指令都已加载的最佳方法是什么?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,一旦加载了所有指令,有没有办法让控制器知道?从指令、工厂和控制器之间共享的对象调用函数时遇到问题 要调用的函数在指令中定义。如果在$timeout延迟1秒的时间内从控制器调用该函数,则该函数将运行,但是,如果在没有$timeout的情况下调用,则会抛出vm.item.test不是函数。AngularJS加载后是否会广播事件 确保已加载所有指令的最佳方法是什么 我已经创建了一个简单的示例来说明这个问题。可能使用承诺?或者使用事件通知已呈现的特定组件。如果您使用的是ui路由器,请尝试使用resolv

一旦加载了所有指令,有没有办法让控制器知道?从指令、工厂和控制器之间共享的对象调用函数时遇到问题

要调用的函数在指令中定义。如果在
$timeout
延迟1秒的时间内从控制器调用该函数,则该函数将运行,但是,如果在没有
$timeout
的情况下调用,则会抛出
vm.item.test不是函数。AngularJS加载后是否会广播事件

确保已加载所有指令的最佳方法是什么


我已经创建了一个简单的示例来说明这个问题。

可能使用承诺?或者使用事件通知已呈现的特定组件。如果您使用的是
ui路由器
,请尝试使用
resolve
@shmck,我使用的是
resolve
,它会在承诺得到解决之前停止控制器加载,但指令在控制器加载之后才会加载,因此
resolve
与此无关。@PSL,我正在引导广播一个事件。谢谢你的回答。