
[Anonymous]
19.10.2018
13:14:28

Roman
19.10.2018
13:14:47

Дмитрий
19.10.2018
13:15:35
А по факту это всё равно передача по ссылке

Google

[Anonymous]
19.10.2018
13:16:23

Grigorii
19.10.2018
13:16:28

[Anonymous]
19.10.2018
13:16:45

Grigorii
19.10.2018
13:17:00

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

Grigorii
19.10.2018
13:17:20

Дмитрий
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 как раз и используется для избавления от этого гемороя и централизованного управления стейтом

Roman
19.10.2018
13:20:36

[Anonymous]
19.10.2018
13:21:03
Ты видимо про туду говоришь..

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

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

[Anonymous]
19.10.2018
13:23:52

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

[Anonymous]
19.10.2018
13:24:35

Grigorii
19.10.2018
13:24:42
Да и во vuex никто не отменял модули и плагины
Но vuex никак не отменяет правила создания компонентов по принципу минимальной ответственность и слабой связности

[Anonymous]
19.10.2018
13:25:19

Google

Grigorii
19.10.2018
13:25:29

[Anonymous]
19.10.2018
13:25:35
А ты говоришь, что пост должен отвечать только за рендеринг типа..
То есть пост не может изменить свой рейтинг?
Solid это вообще не про js если что

Grigorii
19.10.2018
13:26:17

Arsen
19.10.2018
13:27:00
Oh no
Я пропустил 4к

[Anonymous]
19.10.2018
13:27:43

Arsen
19.10.2018
13:27:52
Го

[Anonymous]
19.10.2018
13:28:41

Дмитрий
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

Дмитрий
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

Google

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

[Anonymous]
19.10.2018
13:34:41

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)
})
}

Grigorii
19.10.2018
13:35:52
но не совсем

Admin
ERROR: S client not available

Konstantin
19.10.2018
13:36:24

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

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

Roman
19.10.2018
13:55:17

Konstantin
19.10.2018
13:56:42
Одинаково или есть отличия

Google

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

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

Konstantin
19.10.2018
13:58:35

Roman
19.10.2018
13:58:49

Al
19.10.2018
13:59:45
не знаю как правильно поступить в этой ситуации

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])
это нормально? больше пока в голову ничего не приходит по лучше

Hedint
19.10.2018
14:55:21

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