问题标签 [angularjs-provider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
30 回答
777389 浏览

angularjs - AngularJS:服务vs提供者vs工厂

AngularJS 中的Service,Provider​​ 和有什么区别?Factory

0 投票
1 回答
279 浏览

angularjs - 如何在配置中使用服务/为什么在配置中注入提供者实例?

我读到了如何在模块的 cofing 方法中注入依赖项。我像这样为我的服务创建了提供者

当我尝试使用它时,我使用 $get 方法而不是新的 securityService 来获取实例。我究竟做错了什么?

请注意,在其他任何地方,在控制器中,securitySvc 都被正确注入。

但是,如果遵循模块的“运行”方法

然后,如果我通过它在 routeConfiguration 中引用它,它就$rootScope.hasPermission可以正常工作。我的目标是避免使用范围而只使用服务。可以做到吗?

0 投票
2 回答
1067 浏览

angularjs - 如何在 AngularJS 中创建任何类型的不可变提供程序

考虑以下示例:

当第一个run()被执行时,所有 4 个控制台日志都将被执行并在控制台上打印一些东西。然后为了简化目的,我将每个提供程序fn函数设置为未定义,比如说有人在某处重写了这个函数(这是我想要阻止的)。

在第二个run()块上,一切都是未定义的,将抛出错误。我对此感到困惑......至少其中一些constant首先想到的)不应该是不可变的对象吗?

这是预期的行为还是我做错了什么?

0 投票
2 回答
2648 浏览

angularjs - 在进入状态之前等待提供者完成

我正在尝试等待提供者在 ui-router 继续加载状态之前完成初始化。

每次您进入该状态时,相机都应该启用,并且每当它再次被禁用时。module.config我将其放入提供程序中,因为它需要在以下级别可用:

和状态:

我尝试使用$q创建承诺并使用resolve等待,但在module.config级别 $q 无法注入(或者我只是不知道如何?)。

我该如何解决这个问题?

0 投票
1 回答
765 浏览

angularjs - 将服务注入并使用我的提供程序,然后在配置块中使用提供程序

我正在尝试将一个模块中的自定义工厂注入另一个模块的自定义提供程序中。我真正想做的是在配置块中使用自定义工厂,但我不能,所以我正在尝试配置一个使用自定义工厂的提供程序,然后将其注入到配置中。

我一直在尝试将我的自定义工厂注入到提供程序中,但我似乎无法做到正确。我不知道它是语法还是我的方法是错误的。我的问题是:

1.)这甚至可能吗?
2.) 我的语法正确吗?

这里是工厂:

这是提供者:

我得到的错误是:

这是提供者的正确使用吗?我觉得我可能错过了什么。谢谢!

0 投票
0 回答
48 浏览

angularjs - 在 AngularJS 配置中注入依赖于另一个提供者的提供者的任何方式

给定代码:

还鉴于 provider1ModuleProvider.getSomethingSpecific() 依赖于 provider2ModuleProvider 的 getSomethingGeneric() 方法的方法,我如何从配置中调用此方法?

现在,当我尝试运行与此类似的代码时,我收到一个错误,基本上告诉我第二个提供程序没有实例化。我可以以某种方式显式实例化配置中的两个提供者,以便解决一个提供者对另一个提供者的依赖吗?

本质上,我想要做的是为 UI-router 中的某些视图获取一些抽象视图状态的数据,以便我可以在子视图中使用它。如果我上面的模式不起作用,还有其他建议吗?

0 投票
2 回答
769 浏览

angularjs - 如何在 angularjs 中用 2 个相同的控制器制作原型?

在我的应用程序中,我有 2 个几乎相同的控制器。很多功能都是一样的,所以我想制作它们的原型。这是控制器 #1:

c2gcontroller.js

和控制器#2:

c2gbcontroller.js

我试过投入$scope.getMinutes工厂:

smfactory.js

我已经注入smfactoryc2gcontroller.js

c2gcontroller.js(尝试#1)

这会产生一个错误,即分钟未定义

所以我尝试了:

c2gcontroller.js(尝试#2)

这不会产生错误,但我的应用程序确实变得无响应。现在基本$scope.getMinutes不返回任何东西。

我已经阅读并观看了很多关于 AngularJS 服务、工厂、提供者的信息,但我不知道从这里去哪里。c2gcontroller.js原型和的正确方法是c2gbcontroller.js什么?

0 投票
1 回答
720 浏览

javascript - 从 app.js 触发 $modal.open

我的 app.js 看起来像这样。我需要全局处理 AJAX 错误。如果我只使用console.log,这段代码就可以正常工作。但是,我需要使用 $modal 触发模态对话框,但不知道如何实现。
任何帮助表示赞赏。谢谢!

0 投票
2 回答
67 浏览

angularjs - Angular:可选择配置服务

我有一个服务,它有一个内部指令名称列表(让我们称之为listService)。本着松散耦合应用程序的精神,我希望其他模块能够将它们自己的指令添加到该列表中,而不是在服务模块中静态定义它。

我知道我可以创建一个提供程序来配置这样的服务:

同时,我不希望所有定义指令的模块都依赖于服务。所以我想做的是“如果在这个项目中使用了这个服务:配置它;否则:忽略”。

不幸的是,如果上面的代码不可用,则会产生模块错误。listServiceProvider我还尝试使用具有相同结果的装饰器。

那么我怎样才能有选择地配置服务以获得松散耦合的应用程序呢?

0 投票
1 回答
1760 浏览

angularjs - AngularJS 将 $http 注入到配置中以进行角度翻译

我正在使用 angular-translate 模块并尝试使用 $http 注入服务器上的所有翻译。我使用提供程序,我知道只有我可以通过 $get 注入依赖项,但我不能从我的提供程序调用该函数。我需要知道我是否可以做到这一点以及如何做到这一点。

这是我的提供者。

这是我的配置应用

我知道这段代码有一些错误,但我只希望你有一个我想做的想法。

谢谢