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,我正在引导广播一个事件。谢谢你的回答。