ngView的scope中调用$rootScope经常因为根scope加载慢而调不到

现在程序能运行,但有时候需要刷新几次才能正确,运气不好的时候,加载时会出现

TypeError: $rootScope.gotoPGoals is not a function

之类的错误提示。推测应该是根scope和当前scope加载速度之间有一个竞争,如果根scope没赶得上加载完成,就会调用失败。
想知道如何解决这个问题?


不能写在app.run()里面,因为$scope.gotoPGoals()等函数定义在directive的controller里面,操作directive的$element。
因为directive和上级(也就是ngView)共用一个scope,所以才用$rootScope调用……

阅读 3.3k
1 个回答

为什么不把rootScope 写到run 里呢?