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 🌵
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 пока не юзаю
baur.sha
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
ну а как лучше?
paulwinex
вот собсна должно сработать, щас попробую
Andrey
ну так оно на фидле же работает + остается с реактивностью)
paulwinex
а добавлить как? просто ка кновый ключ?
this.items['newid'] = {...}
paulwinex
или через push
Andrey
https://jsfiddle.net/e9axf2z9/
такой вариант более православный, так будет простой массив объектов и при удалении шукается его индекс
Stanislav
или через push
так, либо Vue.set (см. доку)
Там есть раздел про работу с массивами
paulwinex
ок
Stanislav
Andrey
https://jsfiddle.net/3c75shbm/
Andrey
не та ссылка)
Stanislav
Вместо Vue.delete можно this.$delete, что б не импортить Vue в компонент
baur.sha
вообще лучше удалять через фильтр возвращая новый масив
baur.sha
ну это если любишь фп обмазываться
su
Народ вопрос про вообще "удаление". Имеется в ввиду удаление из модели, вью или virtual dom. Что есть удаление в вашем смысле?
Stanislav
Rafael 🌵
Есть же this.$delete или как ее там
Rafael 🌵
Вообще работа с словарем более предпочтительна при множественных удалениях или удалениях из огромных массивов
Rafael 🌵
Да
Rafael 🌵
Но она поддерживает реактивность
Rafael 🌵
Надо будет сорсы посмотреть кстати 🤔
Andrey
угу, т.к. если это сахар - то он реактивен будет)
su
Вью вообще поддердиват все что угодно, кроме head, body и script, в том числе реактивность ;)
Stanislav
su
Да
Жалгас
как насчет vue -meta?
Жалгас
Жалгас
vue-meta, vue-head
Eugene
оу)
_Awasaky_
Anonymous
Наши каналы:
Freelancer: @web_fl
Веб Дизайн: @dev_design
Верстка сайтов: @web_structure
꧁Александр
Спасибо - дружно на них зайдем - жмем Report -> Spam
su
Андрей
кто может подсказать почему когда передаю шаблон через template, то props выводятся, а когда через render c тем же шаблоном, то props в шаблоне не видно
https://www.webpackbin.com/bins/-KtvyvDYFoQ2xxX0xAsZ
??
ℝei
Stanislav
Stanislav
Что бы отрендерить в ProductItem пропсы, их нужно передать аргументами в функции h
Андрей
пример обновил, когда вторым аргументом в h передаю props они всё равно не отображаются, https://www.webpackbin.com/bins/-KtvyvDYFoQ2xxX0xAsZ
Firdavs
Привет всем
Firdavs
Какие русскоязычные ресурсы для обучения посоветуете?
Rafael 🌵
Rafael 🌵
Этого достаточно, чтобы писать на vue
Жалгас
Firdavs
кроме доков
Rafael 🌵
кроме доков
Так больше ничего и не надо 🤷♂
Андрей
@c01nd01r идея такая что в ProductList в цикле выводятся ProductItem компоненты, в которые из ProductList передаются props (num,msg)
꧁Александр