gpt4 book ai didi

javascript - 手动引导 Angular 应用程序以创建异步应用程序初始化

转载 作者:行者123 更新时间:2023-12-03 09:34:06 35 4
gpt4 key购买 nike

我正在尝试手动引导我的 Angular 应用程序,以便异步加载我的应用程序所依赖的一些数据。看这个article

问题是无论我尝试什么,我都无法使用 angular.injector 访问工厂的实例。看这个plunker

问题是每当我运行这样的代码时:

var Injector = angular.injector(["MyAPP", "ng"]);
var initService = Injector.get("MyService");

我刚刚收到未知提供商错误。

有人可以帮我让这个插件工作吗,或者给我指出一种更好的方法来创建 Angular 应用程序初始化服务。谢谢,

最佳答案

已编辑:已更新以反射(reflect)我们在评论线程中的讨论。

要设置 initApp() 函数来使用 Promise 异步初始化所需的任何应用程序级服务,包括工厂(如原始 plunker 中定义的),您只需让它返回一个 Promise当初始注入(inject)完成后,这个问题就会解决;完成后,调用 bootstrapApplication() 方法在页面上引导 Angular。

function initApp() {
return new Promise(function(resolve, reject) {
var Injector = angular.injector(["ng","plunker"]);
Injector.invoke(['factoryTwo', function(factoryTwo) {
console.log(factoryTwo.test);
resolve();
}]);
});
}


function bootstrapApplication() {
angular.element(document).ready(function() {
angular.bootstrap(document, ["plunker"]);
});
}

initApp().then(bootstrapApplication);

这是一个指向 fork 插件的链接,上面的代码片段可以正常工作:http://plnkr.co/edit/764AqLZf6rQHwPZ1RAZc?p=preview

关于javascript - 手动引导 Angular 应用程序以创建异步应用程序初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31394350/

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