当前位置: 首页 > 面试题库 >

AngularJS中的“命名空间”服务

邬飞捷
2023-03-14
问题内容

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


问题答案:

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

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

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



 类似资料:
  • 为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?

  • 问题内容: 是否可以在Redis中创建名称空间? 从我发现的结果来看,所有全局命令(计数,全部删除)都适用于所有对象。有没有一种创建子空间的方法,以便这些命令在上下文中受到限制? 我不想为此设置不同的Redis服务器。 我认为答案是“否”,并且想知道为什么没有实现它,因为它似乎是一个有用的功能,而且没有太多开销。 问题答案: Redis服务器可以处理多个已编号的数据库。我认为默认情况下它提供了32

  • 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码

  • Let the word of Christ dwell in you richly in all wisdom; teaching and admonishing one another in psalms and hymns and spiritual songs, singing with grrace in your hearts tto the Lord. And whatsoever

  • 客户端有许多“命名空间”,通常是一些公开的可管理功能。命名空间对应 Elasticsearch 中各种可管理的 endpoint。下面是全部的命名空间: **命名空间** **功能** `indices()` 索引数据统计和显示索引信息 `nodes()` 节点数据统计和显示节点信息 `cluster()` 集群数据统计和显示集群信息 `snapshot()` 对集群和索引进行拍摄快照或恢复数据

  • 命名空间 由于 js 环境极少命名空间管理模块, namespace 相对陌生, 比如有这样的文件结构, src/ demo/ core.cljs 可以看到 core.cljs 的路径就是: src/demo/core.cljs 注意 JVM 环境有个 classpath 的环境变量, 用于判断怎样查找源码, classpath 对应多个路径, 也可能是 jar 包, 而 jar 包中