使用带有一个主指令的多个指令

时间:2017-06-28 18:04:29

标签: javascript html angularjs angularjs-directive

目前,https://github.com/TylerGarlick/angular-redactor中的angular-redactor.js正在我们的应用程序中使用。目标是创建一个新的角度指令,可以处理任何文本编辑器,而不仅仅是编辑器。

有没有办法在另一个新的父指令中调用该方法中使用的angular-redactor指令,该指令可以显示完全相同的内容,或者基于配置和不同的文本编辑器指令。

在HTML中,它现在看起来像这样:

<textarea
     id="title-input"
     ng-model="title"
     ng-disabled="!hasPermission('editPageTitle')"
     height="26px"
     style="resize:none; max-height: 32px"
     redactor="{  buttonsHide: ['link', 'super-script', 'subscript', 'symbol']}">
</textarea>

目标是让它看起来像这样:

<my-custom-directive
     id="title-input6"
     ng-model="title"
     ng-disabled="!hasPermission('editPageTitle')"
     editor-config="fullToolbar"
     editor-type="redactor">
</my-custom-directive>

其中,指令应以某种方式处理事物,将其转换回由浏览器呈现的第一个事物。如果更改了editor-type,它应该指向该指令并呈现该文本编辑器。

1 个答案:

答案 0 :(得分:0)

一种方法是使用DDO的template属性的函数版本。

  

模板

     

可能的HTML标记:

     
      
  • 替换指令元素的内容(默认)。
  •   
     

价值可能是:

     
      
  • 一个函数,它接受两个参数tElementtAttrs(在下面的编译函数api中描述)并返回一个字符串值。
  •   
     

— AngularJS Comprehensive Directive API - template