我注意到当我在状态之间快速导航时可能发生的竞争条件。
假设我导航到状态A.编译与状态相关的指令。如果某些嵌套指令使用异步编译的templateURls,则可能需要一段时间。
在这种情况下,我转换到一个新的状态B.原始状态的ui视图被破坏了。但是一些嵌套的内部指令可能仍在编译!
如果存在已经被销毁的依赖项,嵌套编译可能会抛出异常。
感觉异步编译与UI路由器不兼容?我该如何避免这些类型的问题?
答案 0 :(得分:0)
首先使用Angularjs解析器函数处理所有指令和文件,并保持良好的体系结构,以便增强应用程序转换。
解决您的指令所依赖的所有依赖项,例如http请求和服务处理或I / O操作
您可以使用以下链接获取解析器 https://toddmotto.com/resolve-promises-in-angular-routes/