Задать вопрос
splincodewd
@splincodewd
Developer

Как создать Angular-директиву, которая просто вызывает плагин jQuery?

Прости меня все angular-разработчики, что я такой быдло-кодер и мне приходится сливать jQuery и Angular вместе. Но так получилось, что мне очень нужно вызывать плагины jQuery (которые были написаны не глупыми людьми), например, очень красивый Datetimepicker, который понравился заказчику.

Но каждый раз вызывать плагин на каждый чих при изменении DOM-a или события в Angular, мне не нравится

$scope.setCard = ()=>{
   $scope.card = [1, 2, 3]; // к примеру, какие данные, которые выводятся в DOM посредством компонентов
    
   $(".datatime").datepicker(); // и вот тут то приходится вызывать этот метод, не очень здорово

}


Я был бы рад, если это как-то работало без вызова, если бы компонент (шаблон) знал, что нужно в этом месте вызвать плагин datepicker()

например, просто указал бы атрибут datapicker
<div>
   <span ng-repeat="el in card"> {{ el }}</span> 
   <input class="datetime" datapicker />
</div>


Можно как-то так сделать?
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    Angular Developer
    5 месяцев
    Далее
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@mmxdesign
Software Engineer
angular.directive('datetime', datetimeDirective);

function datetimeDirective() {
   var directive = {
   	restrict: 'C',
        link: link
   }

   return directive;

   function link(scope, element, attrs) {
   	element.datepicker();
   }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы