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 里呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进