在引导角度之前,我真的需要一些数据加载。因此,我创建了一个运行块/在这个运行块中,我调用了一个从服务器加载一些数据的服务的方法。由于这是一个异步调用,JavaScript会进一步执行,这导致我的应用程序中的一些未定义的对象。
我正在使用路由,但是它不是使用resolve属性的选项。
有人可以提供一个解决方案来等待在运行块中准备好的承诺吗?
编辑:
由于给出了答案,我已经通过手动引导角度解决了这个问题:
$(document).ready(function () { $.ajax('/Data/GetDropdownData',{type:'POST'}).done(function (response) { app.run(['ListService',function (ListService) { ListService.setData(response); }]) angular.bootstrap(document,["sma"]); }) })
正如我所说的,会把它放在这里
原文链接:https://www.f2er.com/angularjs/145090.html你可以试试manual bootstrap
<script> angular.element(document).ready(function() { angular.bootstrap(document); }); </script>
在这种情况下,您无法使用控制器和角度获取数据的方式。我想你必须通过jQuery加载你的数据,引导你在jquery回调中的角度,然后使用从jquery获得的数据来初始化你的作用域变量。