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

时间:2015-02-25 11:36:17

标签: angularjs cordova onsen-ui

我正在使用以下技术开发应用程序: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属性?你会如何解决这个问题?

此致

1 个答案:

答案 0 :(得分:2)

我找到了满足我需求的$ broadcast角度服务。我在EventCtrl中使用它来在正确加载数据库后广播自定义事件。然后在MenuCtrl中我设置了一个这个自定义事件的监听器,并从那里开始初始登录。

我使用此链接了解$ broadcast service的工作原理:

Todd Motto Blog

此致