我正在使用以下技术开发应用程序: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属性?你会如何解决这个问题?
此致
答案 0 :(得分:2)
我找到了满足我需求的$ broadcast角度服务。我在EventCtrl中使用它来在正确加载数据库后广播自定义事件。然后在MenuCtrl中我设置了一个这个自定义事件的监听器,并从那里开始初始登录。
我使用此链接了解$ broadcast service的工作原理:
此致