angularjs - 等待加载 Angularjs ng-controller,直到父级 Controller 完成

标签 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 属性?您将如何解决这个问题?

问候,

最佳答案

我发现 $broadcast Angular 服务非常适合我的需求。我在 EventCtrl 中使用它来在数据库正确加载后广播自定义事件。然后,在 MenuCtrl 中,我设置了此自定义事件的监听器,并从那里开始初始登录。

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

Todd Motto Blog

问候,

关于angularjs - 等待加载 Angularjs ng-controller,直到父级 Controller 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718018/

相关文章:

angularjs - Angular - 从输入中删除所有标签

android - 安装没有 package.json 文件的 Cordova 插件

javascript - 动态创建 Onsen UI 元素

javascript - 点击事件仍然在div下面触发

ios - ionic cordova 构建 ios 无法使用 xcode swift 3 框架安装自定义插件

javascript - 屏幕底部的温泉元素列表

onsen-ui - 如何在 Controller 中控制页面路由?

angularjs - at 符号或 '@' 作为包名称的 Angular 模块的前缀是什么意思?

javascript - 根据用户权限向 angularJs Controller 添加方法

javascript - Angularjs 代码不工作