ㅤ
в вебпаке
Stanislav
Сделай контейнер модалки на jq/js, а контент в ней - на vue, если так хочется
ㅤ
да
Michael
ага, у тебя уже в бекбоне вебпак. круто
Michael
тогда await import()
ㅤ
да бэкбон без вебпака, вы что
Michael
потом в том, чот импорт, делаешь любой итеракшн, который есть ни что иное как оболочка над Vue.mount
Michael
вернее даже не так
Stanislav
да бэкбон без вебпака, вы что
Я тебе предложил варинт. Не подходит?
Michael
в том методе должен быть и new Vue и всё остальное
ㅤ
просто, есть ещё пара проектов - куда планируется запихнуть эту модалку
Michael
вы, блин, главного в упор не видите, хэлло
Michael
у вас во всех вариантах вью инициализируется со всеми кишками и приложухой-модалом ДО открытия модалки
ㅤ
извените глаза разбегаются
ㅤ
тут 2 варианта
Michael
Я ж написал про $mount
судя по ег оокружению, ему надо жсмодуль, в котором будет метод с асинхронным подгрузом вью и прочего, а на выходе метода будет инстанс VUe
Michael
У которого он уже вызовет и маунт, и сотону
Michael
получится реально изолированная штука
Michael
насчт жкери
Michael
никто не мешает подготовить body к прилепливанию вью как-то без жкери
Michael
прямо в методе жсмодуля
Stanislav
можешь подробнее немного?
Делаешь контейнер модалки. Тот, который по какому-то действию рисует оверлей и показывает блок. Когда модалка отрисовалась, дергается метод yourVueApp.$mount('#modal'); Вью начнет отрисовывать твой контент в #modal
ㅤ
я понял
Michael
Что не мешает сделать расово-верный жсмодуль
ㅤ
те я могу примонтировать компонент когда мне удобно
Michael
А если совсем по моему арианту, то вью сам вернёт дом-элемент со стилями модалки.
Michael
и никакой жкери нахер не нужен
ㅤ
Михаил, щас дай прочту всё что ты написал)
ㅤ
я понял
ㅤ
спасибо большое ребят
Michael
я понял
т.е. тебе главное запихать всё в отдельный модуль и вызывать его асинхронном при открытии модалки
Stanislav
я понял
вот какой-то пример https://github.com/mikeapr4/vue-backbone/blob/master/examples/todomvc/todomvc-vue.js
Stanislav
https://codeburst.io/applying-vue-js-reactivity-to-backbone-models-a8ed1e748b1c
Stanislav
https://snipcart.com/blog/progressive-migration-backbone-vuejs-refactoring
ㅤ
так
ㅤ
допустим модуль примонтировался
ㅤ
и пользователь закрыл модалку
ㅤ
мне нужно отмонтировать?
Michael
https://codeburst.io/applying-vue-js-reactivity-to-backbone-models-a8ed1e748b1c
это для миграции. они же любят и лелеят бэкбон как зеницу ока своего. но таки новые модалочки пишут на вью.
ㅤ
да бла
Stanislav
мне нужно отмонтировать?
https://vuejs.org/v2/api/#vm-destroy
ㅤ
получается
ㅤ
кождый новый вызов
ㅤ
модалки
Michael
Да бл
ㅤ
это новый экземпляр правильно?
Michael
ап ту ю, говорю же
Michael
смотря как ты это поведение в жсмодуле опишешь
Michael
том, про который я повествовал
Michael
можешь припрятать, а не убивать
Michael
но будет жраться память
Michael
классика же
Michael
а если у тебя модалка открывается в среднем 0.01% раз за сессию
ㅤ
это для миграции. они же любят и лелеят бэкбон как зеницу ока своего. но таки новые модалочки пишут на вью.
Вот работаешь ты обычным фронтендщиком, тебе дают пяток проектов (бэкбоны жквери где то даже чистый жс) и говорят - сделай для них модалку, ты бы стал ради этого переписыватьвсе проекты?)
Michael
Вот работаешь ты обычным фронтендщиком, тебе дают пяток проектов (бэкбоны жквери где то даже чистый жс) и говорят - сделай для них модалку, ты бы стал ради этого переписыватьвсе проекты?)
поинтересовался бы, насколкьо часто такие правочки нужно будет совершать. Для начала я уже предложил вариант безболезненной миграции через жсм.
Michael
там и оставить можно -- тоже норм атомарно выйдет и нет
ㅤ
всё вы помогли мне разобраться, спасибо ещё раз)
ㅤ
сходил покурил, и материализовалось ещё парочка тупых вопросов)
ㅤ
получается компонент модалки должен экспортиться в контекст общего приложения
ㅤ
что бы его в нужный момент подключить к дому
ㅤ
я не совсем понимаю как это сделать
ㅤ
он будет собран вебпаком в отдельную жс'ку
Roman
получается компонент модалки должен экспортиться в контекст общего приложения
у тебя просто должен быть метод, контейнер (свой вариант), который грузит и подключает объект вью к нужному тегу
Roman
при отправке модала уже событием, отправкой на сервер, сохранением в window или как-то еще сохраняешь полученные данные
ㅤ
вот пример
ㅤ
корневой компонент допустим будет таким
ㅤ
var modal = new Vue({ data: { show: false }, components: { App }, template: '<App :show="show"/>' })
ㅤ
но как мне увидеть modal из другого места?
Roman
У Vue есть метод mount, запуск которого отрисует vue приложение в выбраном dom элементе. https://vuejs.org/v2/api/#vm-mount
ㅤ
он же получится не глобальным
Roman
как только объект вью маунтится к какому-то элементу, он появляется в доме
ㅤ
это я понял, но для этого мне нужно получить экземпляр компонента в приложении бэкбона
Michael
я наверняка не один такой псих.