jquery datepicker не работает после перехода к другому компоненту - PullRequest
0 голосов
/ 14 декабря 2018

Я использую следующие версии, jquery: ^ 3.3.1 jquery-ui: 1.12.1 angularjs 6 Итак, вот мой код .html имеет это определение

<input id="test" type="text" class="form-control"  value="">

и в моем компоненте (файл component.ts)

ngOnInit() {
 $('#test').datepicker({
       changeMonth: true,
       changeYear: true,
       yearRange: "1930:2010"});

}

При первой загрузке страницы появляется всплывающее окно выбора даты, но после навигации и возврата на эту страницу оно не появляется снова.

после проверки элементовв браузере я обнаружил, что эта динамическая <div> не создается.

<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="position: absolute; top: 0px; left: 732.078px; z-index: 1; display: block;">

где я ошибаюсь, кто-нибудь может помочь?

1 Ответ

0 голосов
/ 14 декабря 2018

Поскольку я не могу написать комментарий, я пишу этот ответ.Таким образом, ngOnInit запускается только один раз при инициализации приложения. Вот почему ваш указатель даты не обрабатывается при переходе обратно к представлению.Согласно угловой официальной документации

ngOnInit ()

Метод обратного вызова, который вызывается сразу после того, как детектор изменений по умолчанию проверил свойства привязки данных к директиве дляв первый раз, и до того, как какой-либо вид или содержимое дочерние элементы были проверены.Он вызывается только один раз, когда создается директива.

Может быть, вы можете использовать хук ngAfterViewInit () или любой подходящий хук из жизненного цикла.Теперь не бросайте в меня помидоры, так как я не использую угловые, но я подумал, что смогу помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...