0

我正在尝试在我的应用程序中应用来自 angular ui 的日期选择器,但由于某种原因,它会导致以下错误:

错误:[$rootScope:infdig] 达到 10 个 $digest() 迭代。中止!观察者在最后 5 次迭代中触发:[] http://errors.angularjs.org/1.3.15/ $rootScope/infdig?p0=10&p1=%5B%5D

我不明白为什么会触发此错误,因为。在上面的链接中,描述如下:

当应用程序的模型变得不稳定并且每个 $digest 循环触发状态更改和后续的 $digest 循环时,就会发生此错误。Angular 会检测到这种情况并防止无限循环导致浏览器无响应。

我根本不明白这如何适用于我的情况。

如果我使用这样的常规输入字段:

<input type="text" class="form-control" id="my-date" name="myDate" data-ng-model="ctrl.myDate"
                                       data-ng-model-options="{updateOn: 'blur'}" data-ng-change="ctrl.changeDetected()" >

没有问题,日期显示得很好,但是:

<p class="input-group">
    <input type="text" class="form-control" datetime-picker="'yyyy-MM-dd'" data-ng-model="ctrl.myDate" data-is-open="ctrl.isOpen" data-enable-time="false" data-show-button-bar="false" data-timepicker-options="ctrl.dateOptions" />
    <span class="input-group-btn">
        <button type="button" class="btn btn-default" data-ng-click="ctrl.openCalendar($event, date)"><i class="fa fa-calendar"></i></button>
    </span>
</p>

将导致错误。比我聪明的人可以给我一个关于我错过了什么的指针。我只是从后端加载日期并尝试将其显示为日期选择器中的当前日期。

/问候克里斯

4

1 回答 1

0

对不起,显然我是个笨蛋。日期选择器和上面的代码没有任何问题。我错过了周围的 div 使用绑定到输入字段的名称属性的验证指令,我忘记将此名称属性添加到相应的日期选择器输入字段。

于 2015-06-25T10:12:03.070 回答