Angular DatePicker - 多个指令 > [datepicker, datepicker]

Posted

技术标签:

【中文标题】Angular DatePicker - 多个指令 > [datepicker, datepicker]【英文标题】:Angular DatePicker - Multiple directives > [datepicker, datepicker] 【发布时间】:2016-03-26 05:48:23 【问题描述】:

我正在尝试使用 720Kb 日期选择器。 https://github.com/720kb/angular-datepicker

虽然使用简单的例子:

<datepicker>
  <input ng-model="date" type="text"/>
</datepicker>

我遇到了打击错误:

angular.js:11655 错误:[$compile:multidir] 多个指令 [datepicker, datepicker] 要求新的/隔离的范围: http://errors.angularjs.org/1.3.15/$compile/multidir?p0=datepicker&p1=datep...epicker%20class%3D%22datepicker%22%20date-format%3D%22dd%2FMM%2Fyyyy%22%3E 在 angular.js:63

我注意到,如果我将 src 文件中的指令名称更改为 datepickercust,则上面的示例将起作用(更改标签)。

<datepickercust >
  <input ng-model="date" type="text"/>
</datepickercust>

另外,如果我通过将 'datepicker' 标签更改为 'div' 标签并添加 class='datepicker' 来尝试相同的示例,它可以正常工作。

  <div class="datepicker">
      <input ng-model="date" type="text"/>
  </div>

我只是无法理解这里发生了什么......为什么原始示例不起作用?

提前致谢。

【问题讨论】:

您的应用中有多个日期选择器指令。检查另一个在哪里并将其删除。 您可以在此处查看更详细的错误消息:docs.angularjs.org/error/$compile/… 这真的很奇怪,我删除了 720 日期选择器但没有删除 html 代码,看起来 angular.js 中有 datepicker 指令。我可以看到以下警告:“datepicker 现在已弃用。请改用 uib-datepicker。”那么如何使用其他日期选择器? 【参考方案1】:

检查是否有两个具有相同名称的日期选择器指令,并检查它们允许的格式,如标签、元素或属性等。

【讨论】:

我删除了我想要的,现在我收到以下警告:“datepicker 现在已弃用。请改用 uib-datepicker。”看起来有 datepicker 指令作为 angular.js 的一部分【参考方案2】:

发现问题。

看起来 UI Bootstrap 仍然包含“datepicker”指令,该指令已被弃用并导致此问题。

现在需要看看我如何同时使用这两种方法。

谢谢大家。

【讨论】:

您找到解决方案了吗?请张贴以供将来参考...谢谢 是的,我找到了解决方案。 720Kb DatePicker 提供了通过将类“datepicker”添加到 div 元素而不是创建 元素来创建日期选择器的选项。这就是我避免勾结的原因。

以上是关于Angular DatePicker - 多个指令 > [datepicker, datepicker]的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助来验证 angular jquery UI datepicker 指令

Angular Bootstrap DatePicker 指令(Eternicode 版本)未保持打开状态

Material datePicker(Angular)中的多个日期选择

在 Angular UI DatePicker 中突出显示特定日期

Angular2更新指令输入

将参数化的 md-date-locale 属性传递给 Angular JS 中的 md-datepicker