Size: a a a

Vue.js Russian Developers Community

2021 January 13

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Проблема в том, на сколько я понимаю, что vue-style-loader не может понять и спуститься в асинхронные куски, а так как я не использую *.vue файлы - оно ломается. С синхронными роутами - все супер
источник

DS

Denis Strokov in Vue.js Russian Developers Community
Andrey Mishagin
Почему?
потому, что $ref для индивидуальных случаев работы напрямую с dom елментами, а не для вызова методов из дочерних
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Andrey Mishagin
Почему?
С асинхронными компонентами нарушается последовательность жизненного цикла ребенок - родитель. Когда родитель смаунтился - ребенок мог еще даже не начать. По этой причине, если это прям критично, можно в маунте ребенка эмтить событие в родителя, в этом родителе по рефу дергать ребенка и выполнять нужный код
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Но это все плохой подход
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Denis Strokov
попробуйте импорт заменить на require, тогда инлайном вебпак по идее подтянет, но это не точно и такое себе решение
ща попробую
источник

AM

Andrey Mishagin in Vue.js Russian Developers Community
Сергей Миртов
С асинхронными компонентами нарушается последовательность жизненного цикла ребенок - родитель. Когда родитель смаунтился - ребенок мог еще даже не начать. По этой причине, если это прям критично, можно в маунте ребенка эмтить событие в родителя, в этом родителе по рефу дергать ребенка и выполнять нужный код
Танцами с бубном попахивает)
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Andrey Mishagin
Почему?
Попробуй во все хуки проставить консоль логи, и вызвать сначала синхронно компонент, потом асинхронно. И увидеть разницу. При чем лучше дернуть задержку какую-нибудь
источник

AM

Andrey Mishagin in Vue.js Russian Developers Community
Сергей Миртов
Попробуй во все хуки проставить консоль логи, и вызвать сначала синхронно компонент, потом асинхронно. И увидеть разницу. При чем лучше дернуть задержку какую-нибудь
Я ни разу асинхронные компоненты не создавал даже и не знаю зачем. Надо бы восполнить этот пробел)
источник

R

RusaXXX in Vue.js Russian Developers Community
Denis Strokov
только nextTick - грязному подходу грязное решение
не очень понимаю как тогда правильно вызывать методы компонентов?
Менять пропсы? Но иногода вот просто нечего менять. Придумать асбстрактную  переменную, повесить на нее вотч и вызывать метод?
источник

R

RusaXXX in Vue.js Russian Developers Community
Этож надо следить за переменной и в нужной момент возвращать ее в исодное состояние
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
RusaXXX
не очень понимаю как тогда правильно вызывать методы компонентов?
Менять пропсы? Но иногода вот просто нечего менять. Придумать асбстрактную  переменную, повесить на нее вотч и вызывать метод?
Например так. Можно еще через ивентбас, можно через стор. Но если вам из родителя нужно вызывать методы дочерних компонентов - это нарушение нормального потока
источник

R

RusaXXX in Vue.js Russian Developers Community
Сергей Миртов
Например так. Можно еще через ивентбас, можно через стор. Но если вам из родителя нужно вызывать методы дочерних компонентов - это нарушение нормального потока
ивент бас это тоже нарушение нормального потока
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
RusaXXX
ивент бас это тоже нарушение нормального потока
Ну так это решение, для вашего нарушения)
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Зачем вам вызывать методы у детей?
источник

A

Artem in Vue.js Russian Developers Community
Привет, туплю сижу,кто может подсказать как  массив привести к случайным числам

Что я сделал ,прошёлся по массиву с помощью for ,и сравнил счётчик  с помощью метода length с исходным массивом
И потом просто делаю slice ( 0 , 1)
Но это не то,нужен random ,как быть?)
источник

DS

Denis Strokov in Vue.js Russian Developers Community
RusaXXX
не очень понимаю как тогда правильно вызывать методы компонентов?
Менять пропсы? Но иногода вот просто нечего менять. Придумать асбстрактную  переменную, повесить на нее вотч и вызывать метод?
через обмен событиями, не обязательно же делать вызов напрямую у функции: можно повесить слушателя на событие
источник

R

RusaXXX in Vue.js Russian Developers Community
Denis Strokov
через обмен событиями, не обязательно же делать вызов напрямую у функции: можно повесить слушателя на событие
а можно пример?
источник

СМ

Сергей Миртов... in Vue.js Russian Developers Community
Denis Strokov
через обмен событиями, не обязательно же делать вызов напрямую у функции: можно повесить слушателя на событие
Я так понимаю речь про ивент бас?) или прокинуть пропсом объект по ссылке, способного эмитить?
источник

DS

Denis Strokov in Vue.js Russian Developers Community
RusaXXX
а можно пример?
в дочернем пишем this.$emit('myEvent', eventProps) в родителе пишем <component @v-on:myEvent="handlerFn" />
источник

R

RusaXXX in Vue.js Russian Developers Community
Сергей Миртов
Зачем вам вызывать методы у детей?
Тригериться какое то событие, Отлов этого события просиходит в родителе. У конкретного ребенка нужно запустить метод
источник