gpt4 book ai didi

angularjs - 如何使用来自不同模块的两个具有相同名称的 AngularJS 服务?

转载 作者:行者123 更新时间:2023-12-03 10:14:10 25 4
gpt4 key购买 nike

假设我有两个 AngularJS 模块,例如foobar ,并且它们都定义了一个名为 baz 的服务.

在我的应用程序中,我依靠他们说:

var app = angular.module('app', [ 'foo', 'bar' ]);

然后我可以尝试使用 baz通过使用在 Controller 中服务
app.controller('blaController', [ '$scope', 'baz', function($scope, baz) {
// ...
}]);

如何定义我想使用两种服务中的哪一种?是否有诸如完全限定名称之类的东西?

最佳答案

服务定位器按名称(angularjs guide DI)查找服务。然而"Namespacing" services in AngularJS :

As of today AngularJS doesn't handle namespace collisions for services so if you've got 2 different modules with the service named the same way and you include both modules in your app, only one service will be available.



我想您可以“手动”创建完全限定名称:为服务命名 foo.bazbar.baz而不是普通的 baz .这是一种自欺欺人。此外,以这种方式编写并不能使命名空间成为现实,但另一个阅读代码的人可能会这么认为。

关于angularjs - 如何使用来自不同模块的两个具有相同名称的 AngularJS 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17862209/

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