Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
Angularjs 我可以编写与主应用程序分离的指令吗?_Angularjs_Web - Fatal编程技术网

Angularjs 我可以编写与主应用程序分离的指令吗?

Angularjs 我可以编写与主应用程序分离的指令吗?,angularjs,web,Angularjs,Web,我开始写一个使用angular的小库。我想写一个指令,它不耦合到初始化的第一个应用程序。我想写一个指令,有人会添加到他们的应用程序,它将只是工作 而不是: angular.module('realEstateApp', []); angular.module('realEstateApp').directive(etc); 只需使用: angular.directive(etc) 如果我做不到这一点,您是否有一些解决方法可以给我?角度指令需要始终位于模块内。您需要做的是定义一个模

我开始写一个使用angular的小库。我想写一个指令,它不耦合到初始化的第一个应用程序。我想写一个指令,有人会添加到他们的应用程序,它将只是工作

而不是:

angular.module('realEstateApp', []);
   angular.module('realEstateApp').directive(etc);
只需使用:

   angular.directive(etc)

如果我做不到这一点,您是否有一些解决方法可以给我?

角度指令需要始终位于模块内。您需要做的是定义一个模块,然后将其用作其他模块中的依赖项。人们必须将您的模块作为依赖项添加到YR模块:

angular.module('myDirectiveModule', []);
angular.module('myDirectiveModule').directive(etc);
然后共享您的模块,人们将不得不做(包括您的脚本之后):


为什么你不喜欢像app.directive这样的指令语法呢?我在某个地方读到,将模块暗示到指令中是一种不好的做法。因为这会造成变量混乱。就像我在其他地方有相同的变量名一样,一个变量会覆盖other@Daffa为了避免这种情况,您应该始终使用自定义前缀定义模块和依赖项。@Taxcala是的,但如果我有其他语法,为什么要将其与前缀混淆?@Daffa它没有混淆,即使是有角度的文档也告诉您应该始终使用前缀:)我想我会这样做的,谢谢您,没问题。很乐意帮忙。
angular.module('myModule', ["myDirectiveModule"]);