首頁  >  文章  >  web前端  >  angularJs自訂指令

angularJs自訂指令

不言
不言原創
2018-04-10 14:40:491090瀏覽

本篇文章介紹的內容是關於angularJs自訂指令,現在分享給大家,有需要的朋友可以參考一下


1. 定義


對於指令,可以把它簡單的理解成在特定DOM元素上運行的函數,指令可以擴展這個元素的功能。

2.定義指令的方法:

<br/>

第一個參數,指令的名字myDirective 用來在檢視中引用特定的指令。
第二個參數是一個函數,這個函數傳回一個對象,$compile服務利用這個方法返回的對 象,在DOM呼叫指令時來建構指令的行為。

3.指令設定的選項

<br/>
  1. restrict 指令在DOM中可以何種形式被引用或宣告

    <br/>

    E(元素) < ;my-directive>adbb35bdcb0fb2fe4e0d48096f28053d 
    A(屬性,預設值) 401d50e34953102cca7b8f2abce3179794b3e26ee717c64999d7867364b1b4a3 
    C(類別名稱) cbc5a80eb9a697ceddce0ca24531aaf994b3e26ee717c64999d7867364b1b4a3 
    M(註釋) 89e6d564547e5c29268e47edfa9a9b80



  2. ################## priority 優先權用來表示指令使用的優先順序###如果一個元素上有兩個優先權相同的指令,宣告在前面的那個會被優先呼叫。如果其中一 個的優先權更高,則不管聲明的順序如何都會被優先呼叫:具有更高優先權的指令總是優先運行。 ############terminal 用來告訴AngularJS停止執行目前元素上比本指令優先權低的指令。但同當前指令 優先順序相同的指令還是會被執行。 ###
    <br/>
    #########template  ####用來表示模板,可以是一段字串,如「4a249f0d628e2318394fd9b75b4636b1這是自訂指令2e9b454fa8428549ca2e64dfac4625cd」,也可以是一個函數,可以參考上面的例子###
    <br/>
    #########templateUrl 用來表示模板,與上面的template功能相似,但表示路徑,可以是外部HTML檔案路徑的字串也可以是一個可以接受兩個參數的函數,參數為tElement和tAttrs,並傳回一個外部HTML檔案路徑的字串。 ############replace 預設為false,範本會被當作子元素插入到呼叫此指令的元素內部,為true,則直接取代此元素###
    <br/>
    ##### ####scope###
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
  3. controller
    controller参数可以是一个字符串或一个函数。当设置为字符串时,会以字符串的值为名字, 来查找注册在应用中的控制器的构造函数.当为函数时,可以像平时写控制器那样写,可以将任意可以被注入的AngularJS服务传递给控制器

  4. controllerAs(字符串)
    controllerAs参数用来设置控制器的别名,可以以此为名来发布控制器,并且作用域可以访 问controllerAs。这样就可以在视图中引用控制器,甚至无需注入$scope。

  5. require
    require参数可以被设置为字符串或数组,字符串代表另外一个指令的名字。require会将控 制器注入到其值所指定的指令中,并作为当前指令的链接函数的第四个参数。


以上是angularJs自訂指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn