gpt4 book ai didi

angularjs - 使用 RequireJS 延迟加载 AngularJS DI 组件

转载 作者:行者123 更新时间:2023-12-02 01:46:00 24 4
gpt4 key购买 nike

我有一个关于延迟加载服务和工厂的问题。我已经研究了一个多星期了,还没有找到满意的答案。我发现:Lazy loading AngularJS modules with RequireJS这似乎很接近,但这不是我想要的,我不想延迟加载我的模块。

我不知道如何使用 AngularJS 和 RequireJS 装配一个 plunker 来阐明我的需求;所以我会尽可能清楚地解释我的需求:

此时我的每个 AngularJS Controller 、服务和工厂看起来像这样:

var dependencies = ['something', 'something/else'];
define(dependencies, function() {

var controller = function(something, else) {};
angular.module('app').controller('myController', ['something', 'else', controller]);

});

这行得通。我使用 RequireJS 加载依赖项,一切正常。困扰我的是需要声明我的依赖项并将我的 AngularJS 代码包装在 RequireJS 定义调用中,我希望 AngularJS(请原谅)做正确的事情。

理论上,当且仅当所有作为 promise 的参数都已解析时,我的 Controller 的构造函数才会执行。我想创建一个服务解析器,它为 somethingsomething else 返回服务 promise ,这样我就可以跳过 RequireJS define 中的依赖项在我的服务解析器中调用并处理它,或者在我的 DI 容器中更好。

我的问题是,有人对此模式有解决方案吗?有谁知道改变服务和工厂加载 promise 的方式的方法吗?或者我应该按照我一直在做的方式实现它并等待 AngularJS 2.0 和子注入(inject)器?

我希望这个问题是有道理的。感谢您的宝贵时间和帮助,

最佳答案

目前无法更改实现。 AngularJS 没有设置方法来更改 ServiceProvider 以返回自定义 promise 而不是具体对象。

这在 AngularJS 的 future 是可能的 Vojta Jinathis Youtube video 中解释.

关于angularjs - 使用 RequireJS 延迟加载 AngularJS DI 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25618778/

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