控制器初始化后,在angular .run()中执行$ http调用

新的

我正在尝试进行$http调用以将JSON存储到Angular应用程序$rootScope.run()函数中,但调用是在加载控制器后完成的,并且我无法使用该调用中的任何数据。谁能帮我解决这个问题?

还尝试查看会发生什么console.log"b"然后输出"a"for $rootScope.xmlundefined

var app = angular.module('lobby', ['ngRoute']);

app.run(['$rootScope','$http', function($rootScope, $http) {
    $http.get(Main.constants.BASEURL+'x.xml').success(function(xml) {
        $rootScope.xml = $.xml2json(xml.data);
        console.log('a');
    });
}]);

app.controller('CategoriesController', function($rootScope) {
    console.log($rootScope.xml);
    console.log('b');
});
锡尼罗

您可以尝试$watch打开$rootScope.xml并监听新值,该值应在$http调用解析且xml范围变量值更改时发生。

代码

app.controller('CategoriesController', function($rootScope) {
    $rootScope.$watch('xml', function(newValue, oldValue) {
        if($rootScope.xml) {
            console.log($rootScope.xml);
        }
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

变量(x)未在默认控制器(及更多控制器)中初始化-教科书示例错误

初始化角度控制器时执行的间谍范围函数

仅在AngularJS中完成初始化后才运行控制器

在控制器中调用angular $ setValidity

在MVC中初始化基本控制器时

在AngularJS中,如何初始化所有控制器后运行代码?

在调用控制器之前初始化AngularJs应用

在ASP.NET MVC中执行控制器操作后调用方法

通过http调用获取配置后如何在angular 7中动态初始化Firebase

初始化后在构造函数中调用方法

控制器中未初始化的常量问题

从Laravel中的控制器问题初始化模型

在Angular中创建后立即调用控制器函数

无法在AngularJS中初始化控制器

AngularJS:控制器初始化函数避免初始化被调用

如何在Angular中重新加载时在视图控制器中重新初始化$ scope变量?

控制器中未初始化常量的NameError

控制器中未初始化的常量-常量是我的lib目录中的类

AngularJS:如何从另一个控制器中动态初始化模板中的控制器

1.3之后,无法全局初始化Angular中的控制器

在Angularjs中的ng-repeat中初始化所有控制器后,在加载所有内容后如何捕获事件?

在angularJs中从控制器调用同时的$ http服务?

在Swift中初始化视图控制器

如果要覆盖控制器的初始化,是否必须调用基本初始化?

AngularJS控制器在初始化之前需要来自$ http的数据

无法从AngularJS中的控制器初始化对象

AngularJs在控制器初始化之前从$ http获取数据

未调用 JavaFX8 FXML 控制器初始化方法

调用类后在初始化中运行方法