Modal

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Vue Modal Window

[ред. | ред. код]

Состоит из:

  • JS — в котором определяется имя компонента, ID шаблона, инициализация Vue:
<script>
  // register modal component
  Vue.component("modal-name", {
    template: "#modal-template"
  });

  // start app
  new Vue({
    el: "#app",
    data: {
      showModal: false
    }
  });
</script>
  • HTML — разметка template и кнопки, и модального окна:
<script type="text/x-template" id="modal-template">
<transition name="modal">
  <div class="modal-mask">
    <div class="modal-wrapper">
      <div class="modal-container"></div>
    </div>
  </div>
</transition>
</script>

В HTML коде страницы шаблон должен быть размещен выше вызова скрипта.

  • HTML — вставка тэга компонента с параметрами в нужную часть HTML:
<modal-name v-if="showModal" @close="showModal = false"></modal-name>

Минимальный набор классов:


.modal-container {
  /* @apply fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2; */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Анимации */
.modal-enter {
  opacity: 0;
}
.modal-leave-active {
  opacity: 0;
}
.modal-enter .modal-container,
.modal-leave-active .modal-container {
  transform: scale(1.1);
}

См. также

[ред. | ред. код]

Про $emit:

Примеры

[ред. | ред. код]

Morphing Modal Window

[ред. | ред. код]

Анимации появления

[ред. | ред. код]