我正在使用以下技术开发一个应用程序:cordova、angularjs、onsen-ui。
我遇到了一个问题,我想了解您的意见,以便采取最佳方法来解决它。
我有一个像这样的 HTML 文件结构:
index.html:
<body ng-controller="EventCtrl">
<ons-sliding-menu
menu-page="menu.html" main-page="splash.html" side="left"
var="menu" type="reveal" max-slide-distance="260px" swipeable="true">
</ons-sliding-menu>
</body>
menu.html
<ons-page ng-controller="MenuCtrl">
</ons-page>
在 EventController 中,我执行许多异步任务,例如下载内容和初始化数据库。
当我想从 MenuCtrl 加载数据库中存储的一些数据时,问题就出现了。 MenuCtrl 在数据库初始化之前开始加载,因此会出现错误。
是否可以从 EventCtrl 动态设置 ng-controller 属性?您将如何解决这个问题?
问候,
最佳答案
我发现 $broadcast Angular 服务非常适合我的需求。我在 EventCtrl 中使用它来在数据库正确加载后广播自定义事件。然后,在 MenuCtrl 中,我设置了此自定义事件的监听器,并从那里开始初始登录。
我使用此链接来了解 $broadcast 服务的工作原理:
问候,
关于angularjs - 等待加载 Angularjs ng-controller,直到父级 Controller 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718018/