【问题标题】:Wait to load Angularjs ng-controller until parent's controller is finished等待加载 Angularjs ng-controller 直到父控制器完成
【发布时间】:2015-02-25 11:36:17
【问题描述】:

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

问候,

【问题讨论】:

标签: angularjs cordova onsen-ui


【解决方案1】:

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

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

Todd Motto Blog

问候,

【讨论】:

  • 这救了我的命。
猜你喜欢
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多