代码之家  ›  专栏  ›  技术社区  ›  nespapu

等待加载Angularjs ng控制器,直到父级控制器完成

  •  2
  • nespapu  · 技术社区  · 9 年前

    我正在使用以下技术开发一个应用程序: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>
    

    菜单.html

    <ons-page ng-controller="MenuCtrl">
    </ons-page>
    

    在EventController中,我执行许多异步任务,如下载内容和初始化数据库。

    当我想从MenuCtrl加载存储在数据库中的一些数据时,问题就出现了。MenuCtrl在数据库初始化之前开始加载,因此会出现错误。

    是否可以从EventCtrl中动态设置ng控制器属性?你将如何解决这个问题?

    当做

    1 回复  |  直到 9 年前
        1
  •  3
  •   nespapu    9 年前

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

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

    Todd Motto Blog

    当做