@vuejs_ru

Страница 3889 из 3900
ed
26.10.2018
10:18:28
в компьютед нельзя делать асинхронные вещи
ты не понял, у тебя есть 2 места. 1 - где-то хранится messages 2 - где-то делается что-то асинхронное

ненадо дублировать messages мержи это в computed

кто мешает вернуть что-то такое return this.ajaxIsReady ? this...store...messages.map(item => ...) : []

Google
ed
26.10.2018
10:19:23
п.с. псевдокод

Znacovean
26.10.2018
10:21:28
кто мешает вернуть что-то такое return this.ajaxIsReady ? this...store...messages.map(item => ...) : []
вы мой файлик открывали? мне надо геттер компютед свойства обновить? сейчас там get() { return this.$store.getters[gameGetters.GET_MESSAGES]; },

ed
26.10.2018
10:21:56
вы мой файлик открывали? мне надо геттер компютед свойства обновить? сейчас там get() { return this.$store.getters[gameGetters.GET_MESSAGES]; },
нет не открывал, я чисто концептуально говорю что дублировать данные независимо от кейса и задачи - плохо

вы мой файлик открывали? мне надо геттер компютед свойства обновить? сейчас там get() { return this.$store.getters[gameGetters.GET_MESSAGES]; },
он же мессаги возвращает все, оригинальные (которые не подходят) зачем его трогать?

пусть и дальше их возвращает

Znacovean
26.10.2018
10:23:35
если не сложно откройте пожалуйста и покажите место где я дублирую.. у нас компьютед свойство создано для two-way биндинга со стором исключительно тех данных что отправляем для шаблона нужны измененные данные взятые из компьюетд свойства что я не так сделал?

Hedint
26.10.2018
10:23:45
Посмотрите пожалуйста - я так вот решил. нормально ли так делать?
Можно делать как угодно на самом деле) Просто мое личное мнение, что тащить в конкретный компонент логику формирования внешних данных - это не очень хорошо. Но может в твоем конкретном случае это норма, если это единственное место, где нужны сообщения именно в таком формате, и ты не получишь от этого никаких проблем. Меня сейчас там больше смущает, что на каждое добавленное сообщение все подготовленные сообщения (chatMessages) пересобираются заново - это точно так и нужно?

Serge
26.10.2018
10:23:49
что такое chatMessages и что такое в сторе return this.$store.getters[gameGetters.GET_MESSAGES]; ?

Znacovean
26.10.2018
10:25:53
что такое chatMessages и что такое в сторе return this.$store.getters[gameGetters.GET_MESSAGES]; ?
chatMessages это свойство в data() компонента которое и юзается для шаблона геттер это просто выдача данных из стора http://s2.micp.ru/f8v6w.jpg

Serge
26.10.2018
10:26:26
это я понял. по смыслу они разные сущности ?

Znacovean
26.10.2018
10:27:09
что такое chatMessages и что такое в сторе return this.$store.getters[gameGetters.GET_MESSAGES]; ?
chatMessages это новый массив в примешку с данными юзера полученными из его айдишника

ed
26.10.2018
10:27:17
chatMessages это свойство в data() компонента которое и юзается для шаблона геттер это просто выдача данных из стора http://s2.micp.ru/f8v6w.jpg
а можно файл куда-нибудь залить? скачивать не охота, но как бы раз что-то есть в data то похоже есть дублирование

Hedint
26.10.2018
10:27:22
что такое chatMessages и что такое в сторе return this.$store.getters[gameGetters.GET_MESSAGES]; ?
У него есть messages (тот самый геттер) {...smth_message_info, user_id}, он хочет примешать к ним инфу о юзерах, которые отправили конкретные сообщения, по user_id (данные по юзерам получаются асинхронно), итоговый массив chatMessages

Google
ed
26.10.2018
10:29:57
ща сделаю гист
https://gist.github.com/7iomka/9352440cdaa0c8ba9439fc09fe15efdc#file-chat-vue-L58 вот это надо в Promise.all сделать паралельно

потом, само смешивание идет внутри метода получения chatMessages, а что если после их обновления у тебя поменялись messages?

Serge
26.10.2018
10:31:22
всё равно не пойму, зачем нужен сеттер и вотчер. и локальная функция getChatMessages

ed
26.10.2018
10:31:25
Надо вынести отдельно сохранение chatMessages и вынести в computed свойство их объединение и уже его передавать в шаблон

Serge
26.10.2018
10:32:07
Мне кажется архитектурно лучше всё это пересмотреть

ed
26.10.2018
10:32:19
я не уверен, но кажется в этой реализации все будет работать: 1. очень медленно 2. геттеры теряют смысл

Znacovean
26.10.2018
10:33:14
я потому и прошу Вас помощь понять как решить мою проблему лучшим из способов

единственная цель - обработать данные массива и стора и вернуть другой массив

подразумевая наличие на случай чего асинхронных операций

Serge
26.10.2018
10:35:37
подразумевая наличие на случай чего асинхронных операций
причем тут асинхр. операции ? Почему ты к ним цепляешься ?

Znacovean
26.10.2018
10:36:06
ну мы из стора получаем массив с айдишниками шаблону нужны данные юзера по этим айдишникам как же не цепляться?

Serge
26.10.2018
10:36:16
В моём понимании я уже писал. есть стор. там мессаги. кампутед для вывода, и commit\диспатч за записи. Всё

и не нужно сеттеров, ватчеров и прокидываний @addMessage="handleAddMessage"

Alex
26.10.2018
10:38:05
спасибо
А разве filter работает для многомерных массивов?

Znacovean
26.10.2018
10:38:48
В моём понимании я уже писал. есть стор. там мессаги. кампутед для вывода, и commit\диспатч за записи. Всё
ещё раз повторюсь - нам надо делать асинхронную операцию результат работы которой не затрагивает мессаги

Alex
26.10.2018
10:38:59
А че нет то?
тогда вопрос, в vue.filter как правильно запихнуть?

Google
Леха
26.10.2018
10:39:23
Alex
26.10.2018
10:40:00
https://ru.vuejs.org/v2/guide/filters.html
не, это я понимаю, я делаю что-то вроде Vue.filter('ModelType', function(Array) { return Array.filter(item => return item.id == id) })

Hedint
26.10.2018
10:40:28
@exclusi0n Можно кстати вообще не делать этот массив chatMessages. Какая-то такая идея: Оставляем исходный messages, сразу после его получения делаем массив (или даже объект для быстрого доступа по ключу, где ключ - это user_id) users, который получается из всех user_ids текущих messages. в шаблоне мапим 2 геттера (messages, users), инфа по юзеру в шаблоне выводится как users[message.user_id].avatar и т.п. при получении нового сообщения добавляем его в messages, проверяем, есть ли инфа по отправившему юзеру, если нет - ходим за ней на сервер и докидываем в users

Alex
26.10.2018
10:42:04
Салават
26.10.2018
10:43:13
как понять что мне нужен VUex

Astr0junk
26.10.2018
10:44:26
как понять что мне нужен VUex
переиспользуешь в разных компонентах одни и те же данные

Салават
26.10.2018
10:44:48
пока что =)

Astr0junk
26.10.2018
10:45:12
пишешь ад из передачи ивентов через $root.$emit $parent.$emit

и прочее

Dmitry
26.10.2018
10:51:07
ребят, а npx не работает с vue-cli? иными словами, для создания проекта через vue-cli я должен поставить vue-cli себе на локальную машину?

Dmitry
26.10.2018
10:52:57
ага, спасибо

Dmitry
26.10.2018
10:55:58
ооооо

ща попробую

Александр
26.10.2018
11:04:11


Костя
26.10.2018
11:08:16
ребята

https://www.npmjs.com/package/d3-hierarchy - норм компонент для построения дерева элементов UI и в объекте генерация иерархии?

Google
Vadim
26.10.2018
11:09:55
Не писать сразу в 2 чата?

Александр
26.10.2018
11:10:52
Не писать сразу в 2 чата?
А в чем проблема?

Vadim
26.10.2018
11:11:11
А в чем проблема?
Во втором чате дали ответ

Александр
26.10.2018
11:12:06
Во втором чате дали ответ
Ну он не работает... и дальше что?

Vadim
26.10.2018
11:12:50
Ну он не работает... и дальше что?
Тут чат по vue, там чат по nuxt, его специально отделили

Алексей
26.10.2018
11:15:25
Привет всем от новичка в Vue! Vue как то может наложить ограничение на ввод в <input> например чисел с разделителем точкой?

Костя
26.10.2018
11:17:43
Ребят, для построения графа элементов (по иерархическому объекту) что лучше: 1) https://www.npmjs.com/package/d3-hierarchy 2) http://snapsvg.io

?

я за 1 вариант

Kirill
26.10.2018
11:27:11
Привет! Кто-то юзал vue-multilanguage? Можно ли вставить html тег в перевод? Например: testVar: 'Test' + <br> + 'Text'

Максим
26.10.2018
11:32:02
незя

ну ладно, можно )

Kirill
26.10.2018
11:33:34
о, отлично! а если серьёзно?) описаный выше пример, не работает

Максим
26.10.2018
11:35:04
почему не рабоает?

в чём проблема передать строку 'Test<br>Text' в перевод и получить ‘Тест<br>Текст’ ?

Kirill
26.10.2018
11:38:14


Hedint
26.10.2018
11:39:22
в чём проблема передать строку 'Test<br>Text' в перевод и получить ‘Тест<br>Текст’ ?
я не знаю, что такое vue-multilanguage, но что, если этот текст вывести через v-html ?

Максим
26.10.2018
11:40:02
Подскажите ребят, первый раз пилю выдуманный spa пет проект, интересно правила распредение кода, то есть что писать в акшенах или компоненте, есть код обновление данных написал пока так что можно отрефакторить или нормально по коду.



Леха
26.10.2018
11:41:28
Вызовы коммитов по максимуму должны быть в экшене

Google
Леха
26.10.2018
11:41:48
Внутри компонента надо стараться не юзать мутации

Yevgen
26.10.2018
11:42:40


Hedint
26.10.2018
11:42:48
Александр
26.10.2018
11:43:23
Так и должно быть

Znacovean
26.10.2018
11:43:27
тип роутинга по дефолту стоит hash

Леха
26.10.2018
11:43:31
Что именно странного? Дернул экшен, получил данные, отработали мутации. Зачем внутри компонента еще помнить какие мутации вызывать?

Znacovean
26.10.2018
11:43:32
смени на history

Yevgen
26.10.2018
11:43:57
спасибо

Леха
26.10.2018
11:44:01
Тем более если экшен в нескольких местах дергается

Dmitry
26.10.2018
11:44:08
подскажите плиз, не нашёл в доке, инструмент vue-cli из коробки использует транспиляцию или нужно кастомизировать по доке?

Hedint
26.10.2018
11:44:10
Что именно странного? Дернул экшен, получил данные, отработали мутации. Зачем внутри компонента еще помнить какие мутации вызывать?
в таком контексте - да) а если у меня полностью синхронная операция, почему я не должен использовать мутации в компоненте?)

Леха
26.10.2018
11:44:49
Ну это ИМХО опять же

Yevgen
26.10.2018
11:46:12




Pavel
26.10.2018
11:48:34
Привет! Как просто можно собрать приложение только одним index.html файлом?

Страница 3889 из 3900