Я использую daterangepicker в поле формы для отображения выбора даты. Как вы можете видеть, это прекрасно работает в поле внизу, но оно не находится в поле, которое содержится в ng-if
.daterangepicker не работает внутри ng-if
http://plnkr.co/edit/WogKyUDNAVAXQTm3lOJR?p=preview
Это не daterangepicker конкретно, это верно для любых функций JQuery внутри ng-if
.
Одним из решений является использование ng-show
, но в этом случае оно должно быть ng-if
.
'ng-if' удаляет dom, если условие не выполняется. Это означает, что ваш jquery уже выполнен и элемент отсутствует. Следовательно, когда 'ng-if' оценивается как true, у вас есть только ввод текста. С другой стороны, «ng-show» - это скорее поведение show hide. Таким образом, элемент присутствует, и ваш jQuery способен его преобразовать. Кроме того, 'ng-if' означает больше манипуляций с dom из-за удаления и добавления элемента в dom. –