【问题标题】:How to use two custom directives in a single HTML element如何在单个 HTML 元素中使用两个自定义指令
【发布时间】:2015-02-23 11:21:00
【问题描述】:

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

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

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

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

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

我应该怎么做才能在同一个元素上使用我的两个指令?

【问题讨论】:

  • 你能在这里发布完整的示例代码或创建小提琴来展示你的问题吗?
  • 检查控制台是否有错误。 F12
  • Jenish,directive-a 和directive-b 是插件,不能完全发布
  • 没有错误 Mr.dfsq..!
  • 错误:error:multidir Multiple Directive Resource Contention Mr.dfsq

标签: angularjs angularjs-directive


【解决方案1】:

来自docs

说明

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

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

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

多个指令请求隔离范围。

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

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

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

this post 之后,您还可以尝试从指令中删除 replace: true

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-26
      • 1970-01-01
      • 2021-05-14
      • 2018-12-19
      • 1970-01-01
      • 2017-11-30
      • 2016-08-24
      • 2015-10-07
      • 2020-03-21
      相关资源
      最近更新 更多