Aleksey
Ну и вопрос вдогонку - возможно ли обратиться через реф к элементу дочернего компонента?
Mr. M
Есть список, внутри другого списка есть другой список, в этом списке есть кнопка на модалку. Где лучше открывать модалку в родители или в списке? Я имею ввиду в плане производительности, как много жрет v-if? родитель->список->список->модалка
Alex
Если кома интересно то так: this.$refs.РЕФ_КОМПОНЕНТА.$refs.РЕФ_ЭЛЕМЕНТА_ВНУТРИ_КОМПОНЕНТА
Alex
Но лучше пропсы, я думаю
Denys
Ребят, хочу асинхронно подгркзить компонент с помощью вебпака, делаю так: Код импорта const home = () => import('./components/home.js'); Код компонента const home = Vue.component('home', function(resolve, reject) { setTimeout(() => { resolve({ template: '<h1>hello</h1>', }); }, 2000); }); Выбивает ошибку Uncaught (in promise) TypeError: Cannot read property 'beforeRouteEnter' of undefined Кстати, если подключаю без динмаического импорта, то всё ок import home from './components/home.js'; Подскажите в какую сторону гуглить. Может нужен какой-то плагин для вебпака, может упускаю какой-то момент.
Denis
у тебя vue-router пытается инициализировать свои хуки
Denis
https://router.vuejs.org/ru/advanced/lazy-loading.html тут смотри
Denys
уже смотрел там. что-то мне не помогает)
Denis
@dartist21 скорей всего тебе в “Коде компонента” не нужно использовать функцию с таймером, просто используй объект Вебпак все сделает за тебя
Denys
да, если просто объект, то будет ок. там просто вместо этого таймера идет get запрос, который резолвит компонент вот пример из доки с такой же функцией https://vuejs.org/v2/guide/components.html#Async-Components но, наверное, так вкладывать не получится =/
Alex
А какой хук использовать чтобы и на апдейт работал и на маунт первичный?
Alex
Кажись нет такого
Vladislav
ребят, с three js кто работал?
Andrey Ponomarenko
<component v-for="item in items" :is="item.cmp"></component> делать не могу?
Stanislav
<component v-for="item in items" :is="item.cmp"></component> делать не могу?
Смотря что ты подразумеваешь под этой строчкой
Andrey Ponomarenko
Andrey Ponomarenko
выдает вот такое
Stanislav
Ладно, я не буду спрашивать, нафига тебе плодить кучу модалок. :key="modal-${index}" - это фигня Что в modal.component лежит?
Andrey Ponomarenko
modal.component = Vue компонент
Stanislav
modal.component = Vue компонент
https://ru.vuejs.org/v2/api/#is
Stanislav
"Принимает - ???"
Andrey Ponomarenko
вот так - работает
Andrey Ponomarenko
modal.component
Andrey Ponomarenko
Stanislav
А зачем динамический компонент?
Andrey Ponomarenko
делаю модальный сервис
Stanislav
делаю модальный сервис
А если вместо <component is> написать <Modal> ?
Andrey Ponomarenko
я задал вполне конкретный вопрос выше, ненужные советы втюхивать мне, пожалуйста, не надо
Stanislav
👌
ivan potapov
я б через роутинг модалки делал если их действительно много
Stanislav
я б через роутинг модалки делал если их действительно много
Человек же написал, что ему не нужны советы :)
Andrey Ponomarenko
А если вместо <component is> написать <Modal> ?
вот такие советы действуют на нервы
Stanislav
😄
Andrey Ponomarenko
я б через роутинг модалки делал если их действительно много
ага, их будет много. мы хотим делать компонентами this.$modal.push(ModalInstance), и чтобы это улетало в TheModalsContainer
Andrey
Ребят, всем привет. Как отменить стандартное событие на router-link ? Уже куда только мог передаю event, юзаю native.prevent, а событие не отменяется.
Varyen
вот такие советы действуют на нервы
очень странно приходить за бесплатными советами и жаловаться что они какие-то неправильные
Andrey Ponomarenko
https://codepen.io/anon/pen/wyrbqQ можешь
хм. значит где то у меня косяк. спасибо!
Andrey
переход точнее (ну стандартное событие на ссылке)
Andrey Ponomarenko
извините если кого задел
Andrey
Буду признателен, если кто подскажет)
Andrey
Ребят, всем привет. Как отменить стандартное событие на router-link ? Уже куда только мог передаю event, юзаю native.prevent, а событие не отменяется.
Andrey
только что нашел, вы про сторожевые хуки ?
Van
только что нашел, вы про сторожевые хуки ?
https://router.vuejs.org/en/advanced/navigation-guards.html
Andrey
спасибо!
VlaDi4eKK
Красиво...
SpiritMoon
За счёт чего уменьшаете бандл собранный webpack ?
Alex
Господа, а как лучше всего повесить событие в компоненте на изменение стейта (vuex)?
Maksim👨‍💻
ребята я туплю как сделать
Maksim👨‍💻
var url_string = window.location.href; var url = new URL(url_string); var c = url.searchParams.get("q"); console.log(c);
Maksim👨‍💻
так только на vue js
Maksim👨‍💻
где q это параметр виду ?q=10 я его получаю
Van
так только на vue js
в чем проблема код выше использовать с вью?
Van
Господа, а как лучше всего повесить событие в компоненте на изменение стейта (vuex)?
1. this.$store.state.someAttribute 2. watch: { '$store.state.someAttribute' (val) { ... } }
Alex
Храни тебя аллах
Alex
someAttribute у меня уже есть, мне просто надо повесить вотчер, прям на элемент стора как я понял
Van
someAttribute у меня уже есть, мне просто надо повесить вотчер, прям на элемент стора как я понял
Если тебе при изменении стора нужно что-то сделать в компоненте — да
Van
Если тебе при изменении стора нужно что-то сделать в компоненте — да
но в большистве случаев если появляется вотчер на стейт, значит что-то не так с кодом
Alex
Надо фокус делать на элемент в глубоком компоненте
Alex
Можно сделать чтото типа евент листенера
Alex
Только я не знаю как лучше в рамках vue
Andrew
this.$refs.xxxx.focus()
Alex
Только там вложенность 4 элемента
Van
Надо фокус делать на элемент в глубоком компоненте
Что такое «глубокий комонент»?
Alex
this.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.focus()
Alex
Я приувеличил конечно, там он внук того компонента в котором случается необходимость поменять фокус
Ilyas
this.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.focus()
можно событие кинуть например
Andrew
так сделай на последнем компоненте просто при моунте
Van
this.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.$refs.xxxx.focus()
Ясно. Ну в общем можно через вуекс, но я бы использовал ивентбас в данном случае.
Van
Ясно. Ну в общем можно через вуекс, но я бы использовал ивентбас в данном случае.
https://medium.com/@andrejsabrickis/https-medium-com-andrejsabrickis-create-simple-eventbus-to-communicate-between-vue-js-components-cdc11cd59860
Andrew
а фокус на внука тут причем?)
Alex
Пока мне идея с ивентбасом нравится
Van
а фокус на внука тут причем?)
если у него большая вложенность чайлдов, то как бы задолбаешься эмитить события наверх к родителю
Andrew
а ну там еще надо чтото вернуть) я думал просто нужен фокус... малоли какоето модальное окно с оповещением и одной кнопкой занрытия
Gran
Почему отрабатывает событие window.resize при перерендеринге vue?
Van
Почему отрабатывает событие window.resize при перерендеринге vue?
что-то на него подписалось, не связанное с чистым вью