Подтвердить что ты не робот

Странная ошибка angular -ui datepicker

Просто переустановили некоторые компоненты bower, но компоненты, о которых идет речь, не были обновлены, то же самое 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, контроллер датпикера определяется непосредственно над daypicker и должен быть поднят.

Может ли это быть вызвано ошибочным конфликтующим datepicker именем класса или чем-то?

Я знаю, что это не так много, но будет обновляться, поскольку у меня есть время добавить код. Похоже, что где-то может быть конфликтный datepicker. Это происходит только на stateChange с одной страницы на другую. Полный поток использования datepicker отлично работает до этой последней страницы. Как пропустить прокси-сервер контроллера, если он находится в одном файле?

В тот момент, когда кто-либо видел это раньше, я был бы благодарен за любые рекомендации.

UPDATE 23 апреля 15: использовал модальное диалоговое окно с формой, которая отправила пользователя на другую страницу с нажатием OK.

4b9b3361

Ответ 1

Я обновил эту ошибку до ui.bootstrap 0.14.x.

Я перезаписал шаблоны в собственных модулях, которые вызвали проблемы:

    angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function ($templateCache) {
    $templateCache.put("template/datepicker/datepicker.html",
      "<div ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" +
      "  <daypicker ng-switch-when=\"day\" tabindex=\"0\"></daypicker>\n" +
      "  <monthpicker ng-switch-when=\"month\" tabindex=\"0\"></monthpicker>\n" +
      "  <yearpicker ng-switch-when=\"year\" tabindex=\"0\"></yearpicker>\n" +
      "</div>");
    }]);

После удаления модулей он снова работал.

Первоначально я изменил шаблоны для использования шрифтов-знаковых значков вместо глификонов. Теперь я переопределяю класс glyphicon css, чтобы изменить шрифт-удивительные значки:

.glyphicon {
    font: normal normal normal 14px/1 ourIconFont;
}
.glyphicon-arrow-right:before,
.glyphicon-chevron-right:before {
    content: "\f054";
}
.glyphicon-arrow-left:before,
.glyphicon-chevron-left:before {
    content: "\f053";
}

Ответ 2

Вам необходимо обновить ui.bootstrap.0.12.0.js до ui-bootstrap-tpls-0.13.3.js

Ответ 3

Имела ту же самую проблему, наше решение состояло в том, что после обновления до uib 0.14 у нас был настраиваемый шаблон для datepicker, и он должен был добавить uib-префиксы в дочерние директивы внутри datepicker (день, месяц год). например

<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">
  <daypicker ng-switch-when="day" tabindex="0"></daypicker>
  <monthpicker ng-switch-when="month" tabindex="0"></monthpicker>
  <yearpicker ng-switch-when="year" tabindex="0"></yearpicker>
</div>

Изменено на

<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">
  <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>
  <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>
  <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>
</div>