在不同的应用程序中使用 angular.js 指令?

use angular.js directives in different applications?

我有一个指令想在不同的地方使用。

var app1 = angular.module("App1"...);
app1.directive('ngFoo' ...   );

其他网页:

var app2 = angular.module("App2"...);
app2.directive('ngFoo'  ...   );

如何在不同的页面中以实用的方式添加指令的代码? 有什么最佳实践?

您正在寻找的是 模块模式,它可以轻松地重用代码。如果 app1 和 app2 的指令相同,我建议为指令创建自己的模块:

angular.module('myDirectiveModule', []).directive('ngFoo', ...);

然后,如果您想使用 app1 中的指令,请将其作为 app1 模块的依赖项包含在内:

angular.module('app1', ['myDirectiveModule']);

然后您可以继续使用 app1 中的指令。同理,如果要使用app2中的指令:

angular.module('app2', ['myDirectiveModule']);

因此该指令成为它自己的可重用模块。