gpt4 book ai didi

javascript - 使用 $http.get 调用响应初始化 AngularJS 常量

转载 作者:可可西里 更新时间:2023-11-01 01:51:07 24 4
gpt4 key购买 nike

如何根据 GET 请求的响应初始化我的 angularjs 应用程序。

例如:-

    angular.module('A',[]);
angular.module('A').run( function ($rootScope,$http){
$rootScope.safeApply = function (fn) {

$http.get('url').success(function(result){

// This doesn't work. I am not able to inject 'theConstant' elsewhere in my application
angular.module('A').constant('theConstant', result);
});
var phase = $rootScope.$$phase;
if (phase === '$apply' || phase === '$digest') {
if (fn && (typeof (fn) === 'function')) {
fn();
}
} else {
this.$apply(fn);
}
};
});

我想在我的应用程序初始化时设置常量,并能够在我的组件之间共享常量。

实现此目标的最佳方法是什么?

最佳答案

this blog post 中所述,您可以在引导您的应用程序之前初始化一个常量:

(function() {
var app = angular.module("A", []);

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

return $http.get("/path/to/data.json")
.then(function(response) {
app.constant("myData", response.data);
})
.then(function bootstrapApplication() {
angular.element(document).ready(function() {
angular.bootstrap(document, ["A"]);
});
});


}());

关于javascript - 使用 $http.get 调用响应初始化 AngularJS 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26803142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com