Javascript AngularJS在接收数据后手动引导

Javascript AngularJS在接收数据后手动引导,javascript,angularjs,Javascript,Angularjs,我试图在从服务器接收数据后手动引导AngularJS bootstrap.js: var initInjector = angular.injector(['ng']); var $http = initInjector.get('$http'); var maindata; function bootstrapAngular() { angular.element(document).ready(function() { angular.bootstrap(docum

我试图在从服务器接收数据后手动引导AngularJS

bootstrap.js:

var initInjector = angular.injector(['ng']);
var $http = initInjector.get('$http');
var maindata;

function bootstrapAngular() {
    angular.element(document).ready(function() {
        angular.bootstrap(document, ['app']);
    });
}

function getMainData() {
    return maindata;
}

$http
    .get('/data')
    .then(function (response) {
        maindata = response.data;
        bootstrapAngular();
    }, function (error) {
        console.log(error);
    });
启动应用程序后,我需要在应用程序中使用
maindata
getMaindata()
。因此,我不能让javascript更接近
(function(){})()bootstrap.js
文件上进行code>以保持所有内容的私密性,以便应用程序的其他部分可以访问函数和变量


是否可以将所有内容都设置为私有,但仍可供应用程序的其他部分访问?

您可以将
maindata
公开为可注入数据,以使其在应用程序中可用:

$http
    .get('/data')
    .then(function (response) {
        maindata = response.data;

        angular.module("app").value("MainData", maindata);

        bootstrapAngular();
    }, function (error) {
        console.log(error);
    });
然后您可以将其注入控制器或服务:

.controller("MainCtrl", function($scope, MainData){
   $scope.data = MainData;
});

所以问题是,你想要执行一段特定的代码,它将从服务器获取一些数据,并在你的应用程序中使用这些值,在其他任何事情发生之前???@TechMa9iac是的,这就是我试图做的。我想新开发人员的答案解决了我的问题。或者,你有更好的建议怎么写?没有。我猜@NewDev的响应符合要求(y)