Angularjs 初始化应用程序正在等待REST调用数据结果

Angularjs 初始化应用程序正在等待REST调用数据结果,angularjs,Angularjs,已经创建了一些具有角度的、仍在学习和发现的基本web应用程序 我需要创建一个角度应用程序,它取决于应用程序中使用的各种参数。例如,我们将通过REST检索的各种标签字符串。。。这些标签用于应用程序的每个屏幕,包括启动时显示的第一个屏幕 我正在寻找一种“适当的”/“良好的”/“角度的”方法来初始化应用程序,等待一种“初始化应用程序”rest调用的结果-由于这个rest调用的结果包含应用程序从一开始就需要的数据,我在下面找到了一个示例方法 是否还有其他想法/想法/有用的链接。。。 谢谢 我建议您探索

已经创建了一些具有角度的、仍在学习和发现的基本web应用程序

我需要创建一个角度应用程序,它取决于应用程序中使用的各种参数。例如,我们将通过REST检索的各种标签字符串。。。这些标签用于应用程序的每个屏幕,包括启动时显示的第一个屏幕

我正在寻找一种“适当的”/“良好的”/“角度的”方法来初始化应用程序,等待一种“初始化应用程序”rest调用的结果-由于这个rest调用的结果包含应用程序从一开始就需要的数据,我在下面找到了一个示例方法

是否还有其他想法/想法/有用的链接。。。
谢谢

我建议您探索ngRoute(如果您使用的是ngRoute)或UI路由器状态的
'resolve'
属性:-

使用时:-

或者,如果您正在使用:-

在这两种方法中,只需确保在HTML模板中不提供“ng控制器”。正如上面的例子所示,在定义路线状态时提供控制器

正在“解析”的属性-如果它们是承诺,则在承诺解析之前控制器(因此视图)不会初始化


我强烈建议您探索州层次结构方法,允许您共享“已解决”;子状态的属性。

如果应用程序中有ui路由器,则使用其
解析
功能是最好的选择:
$routeProvider
    .when("/news", {
        templateUrl: "newsView.html",
        controller: "newsController",
        resolve: {
            message: function(messageService){
                return messageService.getMessage();
        }
    }
})
$stateProvider.state('root',{
        abstract:true, // this is abstract statte, controller is in child states.
        templateUrl:'/assets/root-module/partial/main/main.html',
        resolve : {
            securityContext : function($http){
                return $http.get("/security/context");
            },
            token : function(securityService,securityContext){
                securityService.setToken(securityContext.data.token);
                console.debug(securityContext.data.token);
                return securityContext.data.token;
            }
        }
    });