Javascript 如何在加载JSON之前暂停角度执行?
我有一个angular应用程序,需要从一些JSON加载应用程序配置数据,它被封装在一个服务中,注入控制器。问题是我需要控制器等待json成功加载。换句话说,同步加载它。我想请求这个json文件,并让应用程序在我们得到它之前什么都不做。我不知道“正确的角度”方法是什么,建议?使用Javascript 如何在加载JSON之前暂停角度执行?,javascript,json,angularjs,asynchronous,synchronous,Javascript,Json,Angularjs,Asynchronous,Synchronous,我有一个angular应用程序,需要从一些JSON加载应用程序配置数据,它被封装在一个服务中,注入控制器。问题是我需要控制器等待json成功加载。换句话说,同步加载它。我想请求这个json文件,并让应用程序在我们得到它之前什么都不做。我不知道“正确的角度”方法是什么,建议?使用angular.bootstrap()初始化应用程序 var myApp = angular.module('myApp', []); //declare the rest of myApp, e.g. myApp.con
angular.bootstrap()
初始化应用程序
var myApp = angular.module('myApp', []);
//declare the rest of myApp, e.g. myApp.controller(...
angular.element(document).ready(function() {
jQuery.getJSON('/api/my-app/config', function(data) {
//do whatever you wish with `data`
angular.bootstrap(document.getElementById('my-app'), ['myApp']);
});
});
注:
- 请随意使用任何其他方法获取配置JSON,不必是
jQuery.getJSON()
- 而不是
angular.element(document).ready()和AJAX调用中的两个嵌套回调, 考虑使用承诺,以便它们同时发生
- 此代码未经测试,您可能需要对其进行一些调整
ng app
自动初始化。这正是我要找的,谢谢。在这种情况下,在数据传输之前引导应用程序是没有意义的。嗯,当我以这种方式引导它时,路由似乎不会执行,知道为什么会发生这种情况吗?没关系,只是必须将代码块移低。=)@IainDuncan你把它移低是什么意思-var myApp=angular.module…
先来?是的,我必须把代码移到第一个模块定义下面的文件底部,然后就可以了!