N
О, вот. Вообщем первая загрузка страницы, грузятся js файлы, как я понимаю code splitting работает, один роут, один файл. Потом я перехожу на другой роут и файл для этого роута опять скачивается, правда один раз всего. Как это выключить?
N
При открыти роута первый раз происходит весьма заметный лаг из-за этого
N
Nuxt следует Resolve data before route navigation, я хочу Fetch data after the matched view is rendered
N
https://ssr.vuejs.org/en/data.html
Rafael 🌵
https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=ru
Michel
Чятик, ты умный, подскажи. Есть карта и есть svg-маркеры на карте. Рядом с svg-маркером могут располагаться надписи. Так как карта пестрая, то, понятное дело, эти надписи должны иметь контрастную тень (в моем случае черные надписи и белая тень). Как бы ее сделать? Можно 1) рисовать надпись два раза со смещением, первый раз черную, второй раз белую, 2) выставить stroke: white у надписи и 3) сделать роскошный svg-эффект при помощи всяких feGaussianBlur
Michel
Это конечно не совсем про vue и не очень про .js, но может кто сталкивался.
N
Закешировать
Это не так то просто сделать, nuxt запускает свой сервер и не дает ничего конфигурировать, я бы вообще отключил этот code-splitting так как у меня прилага мелкая и он тут не нужен
Andrey
Ребят, подскажите плз чем можно реализовать подобное поведение? http://www.goodboydigital.com/casestudies/razorfish/McD_100Moments/#
paulwinex
нубовопрос)) подскажите как удалить из data элемент словарика? var app = new Vue({ el: '#root', data: { items:{ 'item_id1' : {...}, 'item_id2' : {...}, 'item_id3' : {...}, } }, ... Надо удалить айтем по его id. Ну грубо говоря так delete app.items['item_id1'] пробовал по всяким советам из гугла, чтото не сработало ничего. В том какая-то хитрость есть?
paulwinex
vuex пока не юзаю
Andrey
[CATEGORY_DELETE] (state, categoryId) { let idx = state.list.findIndex(item => categoryId === item.id) if (idx >= 0) { Vue.delete(state.list, idx) } }
paulwinex
в список словарей?
Andrey
как-то так )
paulwinex
то есть просто список а не по ключам и потом искать по ключу в этом списке и удалять по индексу?
paulwinex
state это ж vuex?
paulwinex
var app = new Vue({ el: '#root', data: [ {id:'item_id1', ...}, {id:'item_id2', ...}, {id:'item_id3', ...}, ], ... както так?
Andrey
то пример из вьюкса, к задаче не имеет отношения ))
paulwinex
да, я пишу небольшой тест на минимальных батарейках, vueх нету
paulwinex
из списка удалять найди внутри элемента нужный id это получилось но не удобнаааа
baur.sha
[ { id: 1, name: 'Тестовый Журнал 0', year: 2000, count: 323, publisher: 'Default pulisher' }, { id: 2, name: 'Тестовая Журнал 1', year: 2001, count: 123, publisher: 'Default pulisher' }, { id: 3, name: 'Тестовый Журнал 2', year: 2011, count: 25, publisher: 'Default pulisher' }, { id: 4, name: 'Тестовый Журнал 3', year: 2011, count: 434, publisher: 'Default pulisher' }
baur.sha
типа так
paulwinex
удаляю так for (index = this.items.length - 1; index >= 0; --index) { if (id === this.items[index].id){ this.items.splice(index, 1); } }
paulwinex
просто думал по ключу получится сделать, удобней бдует
baur.sha
чет замудрено как то
paulwinex
ну а как лучше?
Andrey
ну а как лучше?
https://jsfiddle.net/xhsycfpz/
paulwinex
вот собсна должно сработать, щас попробую
Andrey
ну так оно на фидле же работает + остается с реактивностью)
paulwinex
а добавлить как? просто ка кновый ключ? this.items['newid'] = {...}
paulwinex
или через push
Andrey
https://jsfiddle.net/e9axf2z9/ такой вариант более православный, так будет простой массив объектов и при удалении шукается его индекс
Stanislav
или через push
так, либо Vue.set (см. доку) Там есть раздел про работу с массивами
paulwinex
ок
Andrey
https://jsfiddle.net/3c75shbm/
Andrey
не та ссылка)
Stanislav
https://jsfiddle.net/3c75shbm/
а смысл по item'у удалять? Через индекс проще
Stanislav
Вместо Vue.delete можно this.$delete, что б не импортить Vue в компонент
baur.sha
вообще лучше удалять через фильтр возвращая новый масив
baur.sha
ну это если любишь фп обмазываться
su
Народ вопрос про вообще "удаление". Имеется в ввиду удаление из модели, вью или virtual dom. Что есть удаление в вашем смысле?
Rafael 🌵
Есть же this.$delete или как ее там
Rafael 🌵
Вообще работа с словарем более предпочтительна при множественных удалениях или удалениях из огромных массивов
su
Есть же this.$delete или как ее там
это удобная форма записи Vue.delete
Rafael 🌵
Да
Rafael 🌵
Но она поддерживает реактивность
Rafael 🌵
Надо будет сорсы посмотреть кстати 🤔
Stanislav
вообще лучше удалять через фильтр возвращая новый масив
Ну тут надо посмотреть, как Vue будет это рендерить, хотя на небольших списках это не так важно, я думаю.
Andrey
угу, т.к. если это сахар - то он реактивен будет)
su
Вью вообще поддердиват все что угодно, кроме head, body и script, в том числе реактивность ;)
su
Да
Жалгас
как насчет vue -meta?
Eugene
как насчет vue -meta?
а что именно интересно?)
Жалгас
vue-meta, vue-head
Eugene
оу)
_Awasaky_
Anonymous
Наши каналы: Freelancer: @web_fl Веб Дизайн: @dev_design Верстка сайтов: @web_structure
꧁Александр
Спасибо - дружно на них зайдем - жмем Report -> Spam
Андрей
кто может подсказать почему когда передаю шаблон через template, то props выводятся, а когда через render c тем же шаблоном, то props в шаблоне не видно https://www.webpackbin.com/bins/-KtvyvDYFoQ2xxX0xAsZ ??
Stanislav
Что бы отрендерить в ProductItem пропсы, их нужно передать аргументами в функции h
Андрей
пример обновил, когда вторым аргументом в h передаю props они всё равно не отображаются, https://www.webpackbin.com/bins/-KtvyvDYFoQ2xxX0xAsZ
Firdavs
Привет всем
Firdavs
Какие русскоязычные ресурсы для обучения посоветуете?
Rafael 🌵
Этого достаточно, чтобы писать на vue
Жалгас
Спасибо - дружно на них зайдем - жмем Report -> Spam
в desktop версии есть эта функция? не нашел ghjcnj
Firdavs
кроме доков
Rafael 🌵
кроме доков
Так больше ничего и не надо 🤷‍♂
Stanislav
пример обновил, когда вторым аргументом в h передаю props они всё равно не отображаются, https://www.webpackbin.com/bins/-KtvyvDYFoQ2xxX0xAsZ
Че та фигня какая-то. Ты глобально регистрируешь компонент Vue.component('product-item'). Потом внутрь него передаешь компонент ProductItem, у которого нет ничего, кроме шаблона. Чего ты хочешь та?
Андрей
@c01nd01r идея такая что в ProductList в цикле выводятся ProductItem компоненты, в которые из ProductList передаются props (num,msg)
꧁Александр
в desktop версии есть эта функция? не нашел ghjcnj
Как бороться со спамом в Телеграмм