mannaro
@mannaro
Умею профессионально гуглить

Как организовать popup окна на angular?

Здравствуйте! Есть у меня на сайте popup окна. При нажатии определенных кнопок (таких как "Добавить код", "Добавить магазин") они должны всплывать. Как лучше это организовать? Использовать просто DOM (и CSS) или вводить переменные скоупа?

Сейчас это работает так:
app.directive('showPopup', function () {
  return {
    restrict: 'A',
    link: function (scope, elem, attrs) {
      $(elem).click(function () {
        $('#' + attrs['showPopup']).fadeIn(function () {
          // некая логика
        });
      });
    }
  }
});


Думаю, правильнее было бы использовать переменную скоупа, вместе с ng-if. Однако, попапы и кнопки находятся в распоряжении разных контроллеров (что в общем-то не беда, ведь есть $rootScope. Ведь так?).
  • Вопрос задан
  • 16606 просмотров
Пригласить эксперта
Ответы на вопрос 2
styv
@styv
Лучше всего модальные окна реализовать через сервис.
Посмотрите готовые решения:
Под bootstrap angular-ui.github.io/bootstrap/#/modal
Для более простых случаев я использовал вот это https://github.com/btford/angular-modal с некоторыми усовершенствованиями.

В самом упрощенном варианте можно реализовать через директиву, которая просто будет вешать событие на элемент и вызывать ваш плагин попапов (если он у вас есть).
Ответ написан
Akuma
@Akuma
Веб-программист
Хоть и прошло уже много времени, думаю не лишней будет эта моя статья о реализации простых модальных окон на Angular: akuma.su/blog/vsplyvayuschie-okna-na-angularjs.html
Ответ написан
Ваш ответ на вопрос

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

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