Как закрыть модал nativescript после нескольких переходов? - PullRequest
0 голосов
/ 11 октября 2019

Открыт модальный, который имеет несколько страниц. Для навигации я использую рамочную навигацию. На каждой странице есть кнопка закрытия, нажатие на которую закрывает модальное окно.

То, что я сейчас делаю, передает this.$modal как свойство каждой странице, что создает длинную цепочку передачи свойств, и на каждой странице я просто делаю this.modal.close(), где this.modal - это свойствокомпонент, который ссылается на this.$modal первой страницы.

Мне было интересно, есть ли лучший способ, такой как доступ к верхнему открытому модалу и его закрытие.

Я использую nativescript-vue и встроенный нативный скрипт модалы

Обратите внимание, что у меня есть несколько модалов в других частях моего приложения. только в этом есть навигация.

Ответы [ 2 ]

1 голос
/ 11 октября 2019
  1. Отсоединение модального компонента с помощью плагина.
const modalDialog = {
  install (Vue, options = {}) {
     // ...
  }
}

Vue.use(modalDialog)
Назначение прототипа Vue для плагина.
const modalDialog = {
  install (Vue, options = {}) {
     Vue.prototype.$modal = {
       show () {
         // ...
       },
       hide () {
         // ..
       }
     }
  }
}

Vue.use(modalDialog)
this.$modal доступно для всех компонентов.
this.$modal.show() // or hide()
1 голос
/ 11 октября 2019

Небольшое улучшение может заключаться в том, чтобы сохранить модал в магазине Vuex, получая к нему доступ в любое время вместо цепочки реквизита.

...