CherryTea
у меня большой компонент, стоит ли разбивать его на более мелкие компоненты для улучшения производительности?
Хороший вопрос. Неиспользуемые коммпоненты не подтянутся благодоря тришейкингу, который работает когда как. Разбивают скорее для простоты поодержки и реюза
Rafael 🌵
ти судя по стек трейсу ругается на вот этот шаблон: https://gist.github.com/Fl0pZz/748f9fc595b8f0243f0fa08fa4ec73f6
CherryTea
Попробуй дать второму слоту имя
CherryTea
Просто чтобы понимать что проблема здесь или нет
Rafael 🌵
Павел
можно поподробнее?
CherryTea
можно поподробнее?
Окей гугел, Webpack treeshaking
Rafael 🌵
Обновил гист: https://gist.github.com/Fl0pZz/748f9fc595b8f0243f0fa08fa4ec73f6
Alex
scoped слоту попробуй имя добавить
Sergey
Парни, и в первом и во втором случае видит объект , как быть, кто в курсе?
Alex
а в чем тут надо быть в курсе?
Alex
это JS
Павел
Окей гугел, Webpack treeshaking
Думаю, что я вопрос некорректно поставил, вторая попытка: Представим, что в моём компоненте три svg-формы, но анимируется только одна форма. Получится ли увеличить производительность выносом двух неанимируемых svg-форм в другой компонент?
Sergey
Типа это норм?
CherryTea
Alex
Типа это норм?
Если хочется узнавать массив ли в переменной, то лучше использовать Array.isArray
Rafael 🌵
scoped слоту попробуй имя добавить
м? у меня нет scoped слотов же
CherryTea
Типа это норм?
Да. Гугли моё сообщение выше
Alex
м? у меня нет scoped слотов же
<template scope="props"> ага
Sergey
Array.isArray
спасибо, помогло
binary
Такой вопрос: а как _правильно_ получать доступ к корневому элементу из глобального хука роутера?
binary
ок, а как в таком случае фильтровать роуты на предмет статуса авторизации? Есть какой-то паттерн?
Alex
Перед переходом на роут проверять авторизацию например
Vladimir
this.$root.isLogged
Vladimir
вот только так обратиться к корню
Vladimir
Жалко в реакте нет $root ..
Alex
Тихо сегодня в чатике, видимо все в школу ушли :)
Rafael 🌵
))
Nikita
ага
Nikita
я как раз за партой
Nikita
тут у меня 2 монитора и клава и мышка и музыка играет
Rafael 🌵
Мой плейлист «Мне нравится» https://music.yandex.ru/users/fahreevrafael/playlists/3
Rafael 🌵
Раз уже тема про музыку зашла, то расшарю свой плейлист
Rafael 🌵
Why not 🤷‍♂
Rafael 🌵
Если кратко то это что-то на стыке поп-инди-альтернатива-электроника
binary
вот только так обратиться к корню
это если this - инстанс Vue, а в хуке роутера this вообще непонятно на что указывает. Я опытным путем увидел, что там this.a ссылается на роутер, у которого есть app, но в документации никакой информации о том что там за контекст и насколько это вообще законно нет.
Rafael 🌵
Пересмотри подход: ты можешь хуки роутера указывать внутри компонент
Rafael 🌵
Ан нет
Rafael 🌵
Вру
Rafael 🌵
все такое попсовое:)
Сразу предупредил 🤷‍♂
binary
Пересмотри подход: ты можешь хуки роутера указывать внутри компонент
внутри каждого компонента одну и ту же проверку делать? А если у меня пятьдесят компонент?
Rafael 🌵
внутри каждого компонента одну и ту же проверку делать? А если у меня пятьдесят компонент?
Ну да, а что такого?все хуки вынеси в один файл и внутри компоненты используй нужные
Rafael 🌵
Кстати интересно, кто-то уже написал vue router hook compose 🤔
Rafael 🌵
Я у себя в проекте сейчас иду в сторону атомарности компонент
Nikita
https://play.google.com/music/playlist/AMaBXymFQK-CmpYapbrKJspKqXXRdDYcoqTt5J5dnHHGh-plrn4xlcC9WWYSHSz7HbSvw1v0Dt3JzGItpyuewTHQqZ4F8cfxog%3D%3D
binary
Ну да, а что такого?все хуки вынеси в один файл и внутри компоненты используй нужные
Мне кажется, для того чтобы тупо показать юзеру окно логина при отсутствии авторизации это выглядит как стрельба из пушки по воробьям. Должно существовать более адекватное решение. И зачем тогда вообще нужен beforeEach в роутере? Для красоты?
Rafael 🌵
у меня все этим данные находятся в хранилище
Rafael 🌵
в vuex
binary
у меня тоже vuex, но как к нему получить доступ из роутера? Щас это выглядит как this.a.app.$store.state и что-то я сомневаюсь что так должно быть.
Завтра
Импортить стор
CherryTea
но лучше все же заимпортить как белые люди
binary
но лучше все же заимпортить как белые люди
видимо да, но что мешало протолкнуть в стрелочную функцию хука контекст хотя бы самого роутера непонятно, оно реально там нужно.
Pavel
Всем привет. Ребята подскажите как запускить Vuex экшен при старте приложения?
binary
Всем привет. Ребята подскажите как запускить Vuex экшен при старте приложения?
в created или mounted корневого компонента this.$store.dispatch('твой экшен')
Pavel
А в main.js webpack ни как?
binary
а зачем?
Pavel
Может и незачем, просто думал что лучше авторан кидать в main.js файл
Vladimir
Не, ну клади туда, где объявляешь вуе
Alexey
всем здрасте. не подскажете как нормально перезагрузить входные данные приложения?
Pavel
Не, ну клади туда, где объявляешь вуе
А как там вызвать dispatch в таком случае?
Pavel
this.$store.dispatch('твой экшен') - так ругается : Cannot read property 'dispatch' of undefined
Pavel
и через Vue.$store тоже
Anonymous
Ребят, дайте годных ссылок по поводу SEO и Vue.js
Vladimir
:D
CherryTea
не ну а че он хотел )
Vladimir
через пхп можно по-другому
CherryTea
смотрите, если человеку важно SEO значит там скорее всего не то что-бы полноценное SPA (ведь у полноенных есть отльный лендос)
CherryTea
значит там скорее всего что-то аля -магазин или вроде того. Высока вероятность что человеку хватит и вебпаковского пререндеринга. Вот и вся наука касательно стыка vue и seo
CherryTea
остальное как везде