我有一个必须在AngularJS启动时(或之前)加载的对象(它是用户的权限配置文件,隐藏/显示部分用户界面,检查也在服务器端完成)。
我的第一个想法是使用:
module.run(function() {... })
但async和promises的性质意味着可以在其他所有内容之后加载配置文件。
我的下一个想法是将配置文件内联为脚本元素:
<script type="text/javascript" src="/api/user-profile"></script>
返回JSON全局变量,如:
var userProfile = { ... };
然后在module.run()期间将用户配置文件放入根范围。
效果很好,但看起来很脏。
基本上,我想在Angular启动之前或期间加载数据,就像你在路由中解析一样,因为它在继续之前等待。
有更清洁的方法吗?也许是某种Angular服务?
答案 0 :(得分:0)
您可以使用angular.bootstrap
手动启动Angular.js。这样您就可以先加载数据,然后在准备就绪时加载。调用angular.bootstrap()
启动角度模块。
你必须准备什么:
ng-app="XXX"
。angular.bootstrap()
。