@vuejs_ru

Страница 3840 из 3900
[Anonymous]
19.10.2018
13:14:28
в PostList v-for="post in posts" v-bind="post"
Зачем передавать пост целиком, если он во vuex?

Дмитрий
19.10.2018
13:15:35
Зачем передавать пост целиком, если он во vuex?
Незачем всем подряд ломиться во vuex, мешанина из потоков данных

А по факту это всё равно передача по ссылке

Google
[Anonymous]
19.10.2018
13:16:23
А по факту это всё равно передача по ссылке
Почему тогда в дочерних компонентах нельзя менять пропсы если это ссылки?

Grigorii
19.10.2018
13:16:28
Зачем передавать пост целиком, если он во vuex?
Компонент занимается рендерингом поста. ЛОгично, что его параметр - это пост. А передать пост или его id - это одинаковый объём. эЭто не "целый" пост, а просто ссылка на него

[Anonymous]
19.10.2018
13:16:45
Незачем всем подряд ломиться во vuex, мешанина из потоков данных
Как без vuex сделать хоть какое нибудь серьезное приложение?

Grigorii
19.10.2018
13:17:00
Как без vuex сделать хоть какое нибудь серьезное приложение?
Прокидывать везде кучу пропсов и событий / шину

[Anonymous]
19.10.2018
13:17:03
Евенты поднимать через тысячу компонентов?

Дмитрий
19.10.2018
13:17:36
Ну, сделать такую архитектуру, при которой уровней будет не тысяча

[Anonymous]
19.10.2018
13:17:39
или шину
И какой профит

Grigorii
19.10.2018
13:17:47
И какой профит
а кто сказал, что это профит)

[Anonymous]
19.10.2018
13:18:15
Короче понятно единого подхода я так понял здесь нет

Кто как смотрю херачии

Дмитрий
19.10.2018
13:18:31
Вообще-то есть и тебе его уже описали )

Google
[Anonymous]
19.10.2018
13:18:53
А скажите почему считается плохим тоном в дочернем компоненте пропсы менять?

Дмитрий
19.10.2018
13:19:34
props down, events up

[Anonymous]
19.10.2018
13:20:17
props down, events up
Ну это геморойно.. vuex как раз и используется для избавления от этого гемороя и централизованного управления стейтом

[Anonymous]
19.10.2018
13:21:03
опиши пример, где будет даже вложенность в 10
Вложенности не будет, но если компонент сложный евентов может быть десятки

Ты видимо про туду говоришь..

Roman
19.10.2018
13:21:26
Вложенности не будет, но если компонент сложный евентов может быть десятки
значит у тебя компонент жирный и его нужно подробить

Дмитрий
19.10.2018
13:21:35
Если эвентов десятки - пришла пора декомпозиции

[Anonymous]
19.10.2018
13:21:35
Где нужно пару евентов пробросить

Roman
19.10.2018
13:21:49
Ты видимо про туду говоришь..
а ты, видимо, пишешь 2к строк кода в 1 компонент

Grigorii
19.10.2018
13:22:55
Ты про шину?
Есть есть компонент, и его задача, его ответственность - это рендеринг поста, то он получает на вход пост. Получать на вход id - это не экономия памяти + он должен знать что-то лишнее, даже если они итак все работают с хранилищем. SOLID не отменялось

Grigorii
19.10.2018
13:23:58
Компоненты должны создаваться так, чтобы они были максимально переиспользуемы. Например, компонент рендеринга поста должен уметь не только рендерить посты из массива постов, но и пост сам по себе

Grigorii
19.10.2018
13:24:42
Да и во vuex никто не отменял модули и плагины

Но vuex никак не отменяет правила создания компонентов по принципу минимальной ответственность и слабой связности

[Anonymous]
19.10.2018
13:25:19
А где я такое написал?
Потому что vuex предполагает как раз что стейт будет меняться из компонентов на прямую

Google
[Anonymous]
19.10.2018
13:25:35
А ты говоришь, что пост должен отвечать только за рендеринг типа..

То есть пост не может изменить свой рейтинг?

Solid это вообще не про js если что

Grigorii
19.10.2018
13:26:17
А ты говоришь, что пост должен отвечать только за рендеринг типа..
Я говорю о том, что нелогично передавать в компонент рендеринга поста ID поста в массиве постов, даже, если он имеет доступ к этому массиву во vuex

Arsen
19.10.2018
13:27:00
Oh no

Я пропустил 4к

[Anonymous]
19.10.2018
13:27:43
Я пропустил 4к
Я могу ливнуть и зайти заново

Arsen
19.10.2018
13:27:52
Го

Дмитрий
19.10.2018
13:28:52
То есть пост не может изменить свой рейтинг?
Какой из структур проще управлять?

[Anonymous]
19.10.2018
13:28:54
Ну вот смотри, почему тут к примеру передается id

Дмитрий
19.10.2018
13:29:04


Ivan
19.10.2018
13:29:31
ребят, есть задача интегрировать DataTables в приложение Vue, есть смысл заморачиваться и писать под это директиву или лучше стоит поискать готовые решения для Vue?

[Anonymous]
19.10.2018
13:29:54
Ну здесь 1 уровень всего

А теперь представь, что у 2 компонента есть рейтинг и он тоже евентов бросает

Grigorii
19.10.2018
13:30:52
А теперь представь, что у 2 компонента есть рейтинг и он тоже евентов бросает
Не предлагается всё взаиможействие на эвенты оставлять

Дмитрий
19.10.2018
13:31:23
Если уровней 5 , не значит что надо с 5 поднимать на 1, а 1 уже с vuex общается

[Anonymous]
19.10.2018
13:31:26
Grigorii
19.10.2018
13:31:36
Ну вот смотри, почему тут к примеру передается id
Честно говоря - хз, Но я бы не сказал, что этот код идеален. Пропсы, например, не описаны. (да, знаю, что оф пример)

Google
Grigorii
19.10.2018
13:32:29
Так а чем плох 2 вариант?
Если передавать по id, то компонент рендеринга постов больше не умеет рендерить посты вне массива, например, превью нового поста или ещё что-либо

Konstantin
19.10.2018
13:34:43
Данные методы равносильны? method: async function() { try { let response = await getSomeData() commit(response) } catch(e) { throw new Error(e) } } method: function() { return getSomeData().then((response) => { commit(respone) }).catch((error) => { throw new Error(error) }) }

Admin
ERROR: S client not available

Konstantin
19.10.2018
13:36:24
на первый взгляд - да
getSomeData() это промис если что

Grigorii
19.10.2018
13:36:33
Что возвращает второй метод?

[Anonymous]
19.10.2018
13:37:27
https://github.com/drehimself/todo-vue/blob/master/src/components/TodoItem.vue

Еще вот такой подход нашел

Konstantin
19.10.2018
13:38:18
Что возвращает второй метод?
по сути там и там промис? просвятите пожалуйста в чем тонкость отличия

Grigorii
19.10.2018
13:47:00
throw new Error(e) Если е итак уже Error, то зачем делать new Error(e: error)?

Konstantin
19.10.2018
13:54:04
throw new Error(e) Если е итак уже Error, то зачем делать new Error(e: error)?
Согласен, это не обязательно, набросал чисто ради примера, без нормальной обработки ошибки

Grigorii
19.10.2018
13:54:32
А почему вопрос возник? Есть какая-то проблема?

Или чисто по синтаксису и пониманию?

Roman
19.10.2018
13:55:17
Я пропустил 4к
не пропусти снова ?

Konstantin
19.10.2018
13:56:42
Или чисто по синтаксису и пониманию?
По пониманию, если будет 2 таких метода в vuex, как они сeбя будут вести в компоненте, например при created() { this.method() }

Одинаково или есть отличия

Google
Grigorii
19.10.2018
13:57:24
Одинаково

Al
19.10.2018
13:57:57
Приветствую! Есть вендорный пакет, в компоненте которого я хотел бы сделать изменения. Как правильно это сделать? Можно ли как то его импортировать в новый компонент и там сделать нужные изменения? Или с помощью миксинов это делается? Спасибо!

Konstantin
19.10.2018
13:58:35
Одинаково
Спасибо

Al
19.10.2018
13:59:45
можно обернуть его в компонент, но смотря какие изменения
мне нужно изменить html внутри компонента. там захардкодены вывод чекбоксов, которые мне нужно изменить (стили, классы, обертки)

не знаю как правильно поступить в этой ситуации

Roman
19.10.2018
14:00:42
можно верстку с нуля написать, если это подойдет

Arsen
19.10.2018
14:02:20
Alex
19.10.2018
14:09:17


Давайте, кто следующий станет 4000-й?

Grigorii
19.10.2018
14:11:49
Al
19.10.2018
14:22:48
ok, спасибо

Mike
19.10.2018
14:54:15
Ребят, если использовать константы для мутаций (mutation-types) то как вызвать мутацию в компоненте? Вот в доках есть пример: // mutation-types.js export const SOME_MUTATION = 'SOME_MUTATION'; // store.js import Vuex from 'vuex' import { SOME_MUTATION } from './mutation-types' const store = new Vuex.Store({ state: { ... }, mutations: { // "вычисляемые имена" из ES2015 позволяют использовать // константу в качестве имени функции [SOME_MUTATION] (state) { // здесь будет изменяться состояние } } }) а в компонентах я обычно вызывал мутации через mapMutations(module, ['mutation']) если я буду использовать константы то мне понадобится еще импортировать ее из нужного модуля стора? import { SOME_MUTATION } from '@/store/modules/some-module/mutation-types' mapMutations(module, [SOME_MUTATION]) это нормально? больше пока в голову ничего не приходит по лучше

Mike
19.10.2018
14:56:18
это нормально)
а по другому не делают?) как мне показалось - это не удобно

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