【发布时间】:2015-04-21 11:26:15
【问题描述】:
刚刚重新安装了一些凉亭组件,但这里的组件没有更新,同样0.12.0 ui.bootstrap。还使用ui-router 0.2.13 将状态更改为另一个页面。
奇怪的错误信息是
Error: [$compile:ctreq] Controller 'datepicker', required by directive 'daypicker', can't be found!
但是当我查看 ui-bootstrap-tpls.js 文件时,datepicker 控制器是直接在 daypicker 上方定义的,应该被拾取。
这可能是由错误的 datepicker 类名冲突引起的吗?
我知道这没什么好做的,但会在我有时间添加代码时进行更新。似乎某处可能存在冲突的datepicker。它只发生在从一页到另一页的 stateChange 上。在最后一页之前,使用日期选择器的完整流程可以正常工作。如果控制器依赖项在同一个文件中,它怎么会丢失?
如果有人以前见过这种情况,我将不胜感激。
2015 年 4 月 23 日更新:正在使用带有表单的模式对话框,该表单会在单击确定时将用户发送到另一个页面。
【问题讨论】:
-
我遇到了同样的问题,您找到任何解决方案/解决方法吗?
-
@RoyLing 不,我管理了一个不使用相同控制器的解决方法来避免错误。我的其他猜测是这可能与 angular-ui 尚未与 angular 1.3.x 完全兼容有关。除此之外,我没有想法。我试图在小提琴/plunker 中复制,但无法复制。
-
在模式弹出窗口中使用日期选择器时遇到此问题。一种解决方法是使用 ng-if(在日期选择器的父元素上)并在短暂超时(250 毫秒)后将其解析为 true。
-
ui-bootstrap 将所有模板存储到 templateCache 中,如果由于某种原因在编译之前被清除,那么它可能会抛出此错误,因为它实际上并不存在。
-
这可以在 jsFiddle 或 Plunker 中重现吗?
标签: angularjs datepicker angular-bootstrap