Andrey
буду рад если есть такой вариант
#3301⏣SoulString
на основе твоего фильтертайпа
🅅aleriy
Andrey
у меня есть схема с набором фильтров и мне нужно раскидать их по соответствуюзим компонентам
#3301⏣SoulString
епта как до этого додуматься можно 😆
пишем функции в шаблонах, впрочем ничего нового
Александр
Когда нужно загружать данные data? Например пользователь загрузил страницу. Данные на странице сразу должны приехать в скрипте?
Andrey
это пример на jsx я как раз и переписываю его
#3301⏣SoulString
зачем иметь состояние, когда можно пилить в шаблонах кучи кода х)
Alexandr
у меня есть схема с набором фильтров и мне нужно раскидать их по соответствуюзим компонентам
надо сделать метод который будет возвращать текущий вид и текущий набор данных для него
Alexandr
и отдавать в component
Александр
Или лучше после загрузки в методе created сделать отдельный запрос?
Vlad
Исчерпывающий
🅅aleriy
let list = { "list": { "item": [{ "ID": "31", "name": "Staut", "type": "1", }, { "ID": "34", "name": "Pinta", "type": "3", } ] } } let types = { "list": { "item": [{ "ID": "1", "name": "Restaurant", }, { "ID": "2", "name": "Cafe", }, { "ID": "3", "name": "Bar", } ] } } let typesSimplified = types.list.item.reduce((a, b) => { a[b.ID] = b.name; return a; }, {}); list.list.item.forEach(e => { e.type = typesSimplified[e.type]; }); console.log(list);
let beerTypes = { list: [{ ID: '31', name: 'Staut', type: '1', }, { ID: '34', name: 'Pinta', type: '3', } ] } let placeTypes = { list: [{ ID: '1', name: 'Restaurant', }, { ID: '2', name: 'Cafe', }, { ID: '3', name: 'Bar', } ] } let typesSimplified = placeTypes.list.reduce((a, b) => Object.assign(a, { [b.ID]: b.name }), {}); beerTypes = beerTypes.list.map(beer => Object.assign(beer, { type: typesSimplified[beer.type] })); console.log(typesSimplified); console.log(beerTypes);
Anonymous
🅅aleriy
ну я тебе структуру данных изменил
🅅aleriy
а то у тебя там странные названия ключей
🅅aleriy
list.list.item[...]
🅅aleriy
это что вообще?
Anonymous
я для тестирования на локальном компе поключаю данные JSON из файлов
🅅aleriy
если у тебя массив данных, то называй его items или itemList
Anonymous
import CafeJSON from './test.json' import TypeJSON from './typetest.json'
🅅aleriy
ну адаптируй мой пример под свои ключи
Александр
Читай доки роутера. Там есть ответ
Прочитал https://ru.vuejs.org/v2/guide/routing.html Ответ не нашёл.
🅅aleriy
я просто хотел тебе показать как избавиться от forEach в пользу reduce/map
🅅aleriy
их преимущество в том, что ты можешь далее добавить filter и прочую функциональщину
Anonymous
я могу изменять подключенные как у меня локальные файлы?
Vlad
Прочитал https://ru.vuejs.org/v2/guide/routing.html Ответ не нашёл.
Я про доки самого роутера. https://router.vuejs.org/ru/advanced/data-fetching.html Если ты роутер не используешь, то только как ты описал вариант. В хуках жизненного цикла запрашивать
Anonymous
или мне надо из подключенных фалов все сохранить в одну переменную?
🅅aleriy
смотря что ты хочешь сделать
🅅aleriy
сейчас ты их просто грузишь в веб и кладешь в переменную
Edemity
Edemity
блин( кто-нидь сталкивался?
Anton
А в коде покажи как выглядет
Anton
выглядит*
Edemity
Edemity
Edemity
это строка с html
Edemity
кончается этим
Edemity
🅅aleriy
кстати, плохо выглядит когда на @click не вешаешь метод, а делаешь инлай js в три команды :))
Edemity
короче суть в том, что в балун подставляется html строка, с кнопкой, на которую повешен @click, но он тупо и отображается в консоли, никак не обрабатывается vue
Edemity
даже если метод сделать, он все равно его выведет в исходном коде =\
🅅aleriy
ну а как ты хотел?
Михаил
Это не vue уже это разметка для карты поэтому @click не отработает
🅅aleriy
ты хреначишь в чужое апи кусок vue текста
🅅aleriy
отрендери его в строку попробуй
🅅aleriy
и засунть
Anton
Хм, такое чувство будто тега не хватает где-то. Или неправельно вставляется в компоненте
Anton
Попробую native событие клик, а на него уже вешай обработчик
Anton
в created добавь слушателя события на кнопку
🅅aleriy
у тебя в baloonContent вуешные события @click?
🅅aleriy
сделай компонент, который будет просто транспайлиться а потом делай baloonContent: new MyComponent().$mount()
🅅aleriy
твой компонент без явного указания el или параметра в mount просто создастся как отдельный DOM элемент, который можно добавить в любое место на странице
Anonymous
👍👍👍
Evgeniy
Доброго времени суток.
Александр
Я про доки самого роутера. https://router.vuejs.org/ru/advanced/data-fetching.html Если ты роутер не используешь, то только как ты описал вариант. В хуках жизненного цикла запрашивать
И опять же не отвечает статья на мой вопрос. У меня Flask, а значит SSR. обычно я сразу вставляю данные в страницу. Но есть проблема со вставкой большого объёма данных на некоторых страницах.
Александр
Поэтому вопрос как обычно принято у людей?
Александр
А так да, вставка данных в методе created самое то. Если это по заветам Ктулху, то всё норм.
Vlad
А, я про Ssr не видел
Александр
А, я про Ssr не видел
Это я сразу не написал про ssr
Vlad
А в чем проблема больших объёмов ? Наоборот же лучше на сервере отрендерить
ℝei
Это я сразу не написал про ssr
в нормальном ssr свой метод есть asyncData. если конечно интересует именно префетч на сервере
Александр
В многокоде
ℝei
лол
Александр
Я не шутил
ℝei
Поэтому лол