2015-05-14 45 views
0

我正在編寫我的第一個自定義指令,它將以不同的方式執行表單驗證。我想在許多不同的項目中重複使用此指令,但我不知道如何獲取模塊。如何獲取模塊以編寫自定義指令

在聲明指令,你這樣做:

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

但爲 「ExampleApp」 是硬編碼。如果我不知道模塊的名稱,我該如何聲明一個指令?

回答

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. 

要使用它作爲第三方模塊

這個指令創建單獨的角模塊,只是注入該模塊到您的應用程序。它會直接工作。您無需爲該模塊定義它。

希望它有幫助。

0

每個指令都必須有一個模塊。如果它是一個實用程序模塊,您將重用,然後將其命名爲。在您希望使用該指令的應用程序中,只需聲明對公用程序模塊的依賴關係,它就可以工作。

+0

是的,但是當像上面那樣聲明我的模塊時,我爲「exampleApp」模塊名稱使用了什麼?它可能是任何東西! – serlingpa

+0

哦,我得到你了。我誤解了模塊指令聲明。我雖然「exampleApp」是使用該指令的模塊的名稱。傻我。 – serlingpa

相關問題