指令定義物件模板

demoApp.directive('demoDirective', function () {
  var directiveDefinitionObject = {
    multiElement:  
    priority:
    terminal:
    scope: {},  
    bindToController: {},
    controller:
    controllerAs:
    require:
    restrict:
    templateNamespace:
    template:
    templateUrl:
    transclude:
    compile: 
    link: function(){}                                  
  };
  return directiveDefinitionObject;
});
  1. multiElement - 設定為 true,指令名稱的開頭和結尾之間的任何 DOM 節點都將被收集並作為指令元素組合在一起
  2. priority - 允許在單個 DOM 元素上定義多個指令時指定順序以應用指令。首先編譯具有更高編號的指令。
  3. terminal - 設定為 true,當前優先順序將是要執行的最後一組指令
  4. scope - 設定指令的範圍
  5. bind to controller - 將範圍屬性直接繫結到指令控制器
  6. controller - 控制器建構函式
  7. require - 需要另一個指令並將其控制器作為連結函式的第四個引數注入
  8. controllerAs - 在指令範圍內對控制器的名稱引用,以允許從指令模板引用控制器。
  9. restrict - 將指令限制為 Ele​​ment,Attribute,Class 或 Comment
  10. templateNameSpace - 設定指令模板使用的文件型別:html,svg 或 math。html 是預設值
  11. template - 預設替換指令元素內容的 html 標記,如果 transclude 為 true,則包裝指令元素的內容
  12. templateUrl - 為模板非同步提供的 url
  13. transclude - 提取指令出現的元素的內容,並使其可用於指令。內容被編譯並作為轉換函式提供給指令。
  14. compile - 轉換模板 DOM 的函式
  15. link - 僅在未定義編譯屬性時使用。link 函式負責註冊 DOM 偵聽器以及更新 DOM。它在克隆模板後執行。