VasiliyIT
Там всё просто
Я начал про нее читать, но общий уровень знаний программирования и ЖС в целом, а также vue и vuetyfy в часности крайне этому не способствует )))
VasiliyIT
Доки по нуксту читал?
не все, но общий принцип понятен, хотя я его возможности на 90% не использую пока
Armen
Дороги
Armen
Armen
Armen
VasiliyIT
Иван
Иван
Хоспаде, каких только стикеров не понапридумывали
Сергей
подскажите реализацию) как сделать так чтобы по определенному значению поля выводился нужный мне компонент. Грубо говоря от разного ID должен вставлять разный шаблон вывода инфы)
Роман
у меня так <component v-for="element in parts" :key="element.id" :is="getRowComponent(element.contentType)" class="row-area__row" :gamePart="element"> </component>
Роман
важное это component и :is="getRowComponent(element.contentType)"
Armen
Лучше запилить компутед
Armen
А не метод
Роман
не помню чем меня компутед не устроил. В него можно передавать параметры? Просто у меня список, в компутед пришлось бы делать точно такой же список, только с ещё одним полем. Верно рассуждаю?
Armen
А зачем передавать?
Armen
Всё так же как в методе, только вместо передаваемого параметра используешь this.element.contentType
Роман
у меня список
Armen
Покажи код метода
Роман
<component v-for="element in parts"
Роман
getRowComponent: function (contentType: string): string { if (contentType === "chgk") return "PointList"; if (contentType === "matrix") return "MatrixList"
Armen
Ай, да)))
Armen
Я чот не заметил v-for
Armen
Тогда да, верно
Роман
👍
Роман
у меня другой вопрос
Сергей
че то вы протороторили и я не понял)
Роман
Как реализовать оптимистичный сценарий ввода? Скажем, на странице есть переключатель, по его нажатию, нужно выполнить действие на сервере. Переключатель прибинден к каким-то данным в вуекс.
Роман
ты его можешь сделать любым компонентом просто через свойство is
Armen
че то вы протороторили и я не понял)
Пишешь <component is="componentName"/>
Armen
И рендерится componentName
Armen
Можно привязать динамическое значение
Сергей
componentName откуда подхватывается?) путь к файлу или как?
Armen
У меня это строка
Armen
Но ты можешь забиндить любое строковое значение
Роман
componentName откуда подхватывается?) путь к файлу или как?
просто строка. Компонент из строки должен быть зарегистрирован https://ru.vuejs.org/v2/api/#component
Armen
Значение пропса, поля в data, компутеда или результат вызова метода
Роман
всё таки про оптимистичный ввод. У меня есть переключатель, я по нему тыкаю, в вуекс вызывается экшен, этот экшен вызывает коммит свойства (иначе переключатель не переключится) и вызывает апи сервера. далее 2 пути: если всё хорошо, то я просто обновляю ответом сервера свой стор. если всё плохо, я откатываю тогл назад.
Armen
Типа того
Armen
Мы недавно тут обсуждали как лайк запилить
Armen
Только, как видишь, после наших советов чел удалил аккаунт
Роман
вопрос в том, как сделать накат и откат свойств для сценария "всё плохо", чтобы каждый раз не писать однотипный код. Например: переключателей 3 штуки, обновляются они все одним и тем же методом апи, но с фронта я должен вызывать апи сервера при нажатии нажатии на любой из них. Хочется написать что-то лаконичное, а не под каждый случай уникальный код пилить. Тем более, что это уже полноценный подход к оптимистичному обновлению и так будет много где.
Роман
сейчас прочитаю
Armen
Так что осторожнее
VasiliyIT
Роман
Anonymous
Как проверить, на чьей стороне идет рендеринг приложения? Нужно узнать, есть ли SSR или нет
Роман
Прочитал, в общем то простая идея 1. Снимаем 2 копии изменяемого объекта {...} 2. Одно копию меняем и коммитим её 3. Вторую копию используем, чтобы откатить изменения в случае фейла Если так делать, тогда можно написать только одну функцию для трёх переключателей, которая будет принимать функцию (которая указывает как поменять) и делать всю основную работу.
Роман
а вот ещё вопрос: как правильно с объекта стора снять копию, чтобы я мог её изменять и от этого никаких побочных реактивных эффектов не случалось?
Роман
т.е. оператор расширения сделает мне новый объект, и все свойства первого уровня будут обычными, а не реактивными, верно?
Armen
Da
Роман
ок, спасибо
Роман
сделал тест, всё так и есть
Роман
👍
Anonymous
process.server
И что он покажет?
Armen
Сервер это или нет
Armen
Тебе надо в задетектить в процессе, или после рендера?
Anonymous
Не важно, хоть как. process.server это undefined
Armen
Надо поковырять vue ssr renderer
Anonymous
Ну а по внешним признакам можно как-то отличить?
Armen
Да не
Armen
Он рендерит абсолютно такой же код
Armen
А зачем?
Anonymous
Просто захотелось узнать, не более
Armen
Ну если нукст юзаешь то там просто
Иван
this.$isServer
Иван
Блин
Иван
Где-то я читал про какой-то фреймворк, который инкапсулирует работу с сетью, то бишь оптимистические апдейты искаропки
Иван
исчоп
Aleksey
Добрый вечер коллеги! Кто пользуется vue.js? Подскажите по хранению данных: докумментация показывает несколько моделей реализации, но в целом для управлени тесно связанными компонентами рекомендуется использовать flux-подобный vuex для организации хранения состояний: где есть состояния, мутации - изменение состояний, действия и геттеры. И всё бы хорошо, да это сводит на нет все приемущества реактивности: теперь не получится просто использовать v-model, приходится определять сеттеры, геттеры, а как поступать с вложенными объектами - вообще не понятно, когда я получаю список объектов, но должен установить новое значение для его экземпляров, подскажите кто как организует хранение данных во Vue, очень интересен практический опыт