如何获取模块以编写自定义指令

时间:2015-05-14 12:18:04

标签: angularjs angularjs-directive

我正在编写我的第一个自定义指令,它将以不同的方式执行表单验证。我想在许多不同的项目中重用这个指令,但我不知道如何获得该模块。

声明指令时,执行以下操作:

angular.module("exampleApp", [])
    .directive("validation", function () {
        return {
            // etc...
        }
    });

但“exampleApp”是硬编码的。当我不知道模块的名称时,如何声明指令?

2 个答案:

答案 0 :(得分:0)

每个指令都必须有一个模块。如果它是实用程序模块,您将重复使用,然后将其命名为。在您希望使用该指令的应用程序中,只需声明对实用程序模块的依赖,它就可以正常工作。

答案 1 :(得分:0)

如果我理解正确,您希望获得已定义模块的句柄。在这里,您可以参考exampleModule,如下所示:

angular.module("exampleApp", []) // This will create new module as you've written [] i.e injector
    .directive("validation", function () {
        return {
            // etc...
        }
    });

  angular.module("exampleApp").directive(...) // It will search for existing exampleApp and gives you the reference of that module so that you can define directive in that module.

将其用作第三方模块

使用此指令创建单独的角度模块,然后将该模块注入您的应用程序。它会直接工作。您不需要为该模块定义它。

希望它有所帮助。