一尘不染

AngularJS中的“命名空间”服务

angularjs

AngularJS如何处理服务名称之间的冲突?例如,如果我声明了两个模块,每个模块包含一个名为“
foo”的服务。如果我想创建一个可重用的模块或要避免与其他第三方模块发生冲突,哪种是“​​命名空间”服务的好方法?


阅读 302

收藏
2020-07-04

共1个答案

一尘不染

到目前为止,AngularJS不会处理服务的名称空间冲突,
因此,如果您使用相同的方式将两个不同的模块命名为服务,并且在应用程序中包含了两个模块,则只有一个服务可用。

目前,最好的选择是为服务名称添加自定义前缀,例如:

angular.module('myprefix_mymodule',['dep1', 'dep2']).factory('myprefix_MyService', ...)

2020-07-04