Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs相同指令名称冲突_Javascript_Angularjs - Fatal编程技术网

Javascript angularjs相同指令名称冲突

Javascript angularjs相同指令名称冲突,javascript,angularjs,Javascript,Angularjs,这里有个问题。在使用外部模块时,如何避免相同的指令名冲突。目前我正在使用该模块,但下载了另一个模块只是为了使用旋转木马。它们都有相同的指令名carousel,如果我在模块中同时包含这两个指令名,就会导致问题 var app = angular.module('text', ['fundoo.directives', 'ui.bootstrap']); 最好的解决方案是什么?如果指令之间只有一个名称冲突,请列出包含要用作第一个依赖项的旋转木马的模块。根据我的结论,具有相同名称的其他指令被忽略(第

这里有个问题。在使用外部模块时,如何避免相同的指令名冲突。目前我正在使用该模块,但下载了另一个模块只是为了使用旋转木马。它们都有相同的指令名
carousel
,如果我在模块中同时包含这两个指令名,就会导致问题

var app = angular.module('text', ['fundoo.directives', 'ui.bootstrap']);

最好的解决方案是什么?

如果指令之间只有一个名称冲突,请列出包含要用作第一个依赖项的旋转木马的模块。根据我的结论,具有相同名称的其他指令被忽略(第一个指令获胜)。

如果我是你,我会为我自己的角度指令/服务/等使用前缀,这是我最近一直在做的,我没有任何冲突问题


或者,只需将相关指令重命名为更详细或更具体的指令。

实际上所有指令都已执行,您可以使用
优先级
参数配置执行顺序

优先级:

当在单个DOM元素上定义了多个指令时,有时需要指定应用这些指令的顺序。优先级用于在调用指令的编译函数之前对指令进行排序。优先级定义为一个数字。首先编译具有更高数字优先级的指令。前链接功能也按优先级顺序运行,但后链接功能按相反顺序运行。具有相同优先级的指令顺序未定义。默认优先级为0

当您发现
terminal
参数设置为
true

尽管如此,关于创建优先级的解决方案对于这个问题来说还是有点复杂,所以我还是坚持@nico的解决方案

还有,这里有一个plunker来测试angular同时执行


我遇到了同样的问题,一个名为“match”的自定义指令与angular boostrap中的指令冲突。我用项目的前缀重命名了我的指令,以确保它们是唯一的。让我们只使用您需要的模块构建您自己的版本。或者简单地将
carousel
指令重命名为任何一个库中的其他指令。您能澄清一下“给我带来问题”吗?我不明白为什么人们在创建供其他人使用的库时不能为其指令命名名称空间。有棱角的用户界面用户制作
UI旋转木马
而不是
carousel
有什么错?如果每个人都这样做,软件项目就少了一件可能会崩溃的事情^_^感谢@Fardin的风格(;