如何在单个HTML元素中使用两个自定义指令

时间:2015-02-23 11:21:00

标签: angularjs angularjs-directive

我有两个自定义指令;即directiveAdirectiveB。 两者都是执行两种不同操作的自定义指令

<input type="text"
       name="order_value"
       data-ng-model=""
       directive-a="{{formatText}}"
       directive-b="{{test}}"/> 

但是当我使用这两个指令时,元素没有显示出来。如果我只使用其中一个指令,它就能正常工作。

我的控制台显示以下错误。

  

错误:错误:multidir多指令资源争用

如果能够在同一元素上同时使用我的指令,我该怎么办?

2 个答案:

答案 0 :(得分:0)

来自docs

  

<强>描述

     

当多个指令应用于同一DOM元素时会发生此错误,处理它们会导致冲突或配置不受支持。

     

要解决此问题,请删除导致冲突的其中一个指令。

     

应用于同一元素的多个不兼容指令的示例场景包括:

     

请求隔离范围的多个指令。

     

以相同名称发布控制器的多个指令。

     

使用transclusion选项声明了多个指令。

     

多个指令试图定义模板或模板URL。

关注this post您还可以尝试从指令中删除replace: true

答案 1 :(得分:-1)

经过长时间的尝试,我找到了上述问题的简单解决方案。

如果你将范围设置为true,即。,scope: true在指令中,设置为false scope: false