等待加载 Angularjs ng-controller 直到父控制器完成

Wait to load Angularjs ng-controller until parent's controller is finished

我正在使用以下技术开发应用程序: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 中,我为这个自定义事件设置了一个侦听器,并从那里启动了初始登录。

我用这个 link 来了解 $broadcast 服务的工作原理:

Todd Motto Blog

此致,