@vuejs_ru

Страница 1742 из 3900
Anton
13.12.2017
21:36:29
Stanislav
13.12.2017
21:37:03
Так вроде этого и хотят, поправьте если ошибаюсь
Да, но не таким неявным способом. Я выше писал про "умные" и "глупые" компоненты.

Anton
13.12.2017
21:37:57
Я прекрасно знаю, что это. Мало того, когда есть стор, такая концепция сама собой появится иначе поддержка проекта умрет

Вопрос в том, что никто не запрещает так сделать. И это еще одно решение. Собственно, поэтому Vue и набирает обороты - в нем можно (почти) все.

Google
Anton
13.12.2017
21:41:02
Ну, кстати, чем это не умный компонент?

Stanislav
13.12.2017
21:41:54
Ну, кстати, чем это не умный компонент?
Так а зачем его умным делать?

Anton
13.12.2017
21:42:18
Чтобы не делать кучу копипаста, например

Max
13.12.2017
21:43:14
ну вот сейчас вот получил от Vue Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "active"

Anton
13.12.2017
21:43:33
Если будет несколько страниц, которые будут управлять набором вот таких чекбоксов с запросами в сеть, поулчите проблему дублирования логики.

Max
13.12.2017
21:43:47
сделал v-model vprops-a

Anton
13.12.2017
21:43:58
@obsly так низя)

Stanislav
13.12.2017
21:44:21
"умном" родителе

Max
13.12.2017
21:44:28
т е таки надо делать отдельную дату для состояния, потом слать его на сервак потом если 200 то обновлять пропс?

Anton
13.12.2017
21:44:30
Вы меняете пропс изнутри, а это нарушение цепочки пропсы-сверху, эвенты-снизу

@c01nd01r у меня есть подозрение, что говорим об одном и том же, с разных сторон :)

Google
Max
13.12.2017
21:45:44
Вы меняете пропс изнутри, а это нарушение цепочки пропсы-сверху, эвенты-снизу
ок, как тогда менять состояние компонентавнтури компонента не трогая пропсы который приходят отродителя?

Anton
13.12.2017
21:46:05
Компонент работает с data и computed

Это его, скажем так, локальная копия данных

Max
13.12.2017
21:46:18
как передать компоненту не через пропсы а через дату при инициализации?

Stanislav
13.12.2017
21:46:30
Anton
13.12.2017
21:46:35
Дата в данном случае станет дефолтным конфигом

Anton
13.12.2017
21:46:58
Компоненту нельзя отдать что-то не через пропсы

Max
13.12.2017
21:47:17
вот

Anton
13.12.2017
21:47:22
Есть 2 варианта - пропсы и стор (иногда эвент-бас, но его не рекомендуют)

Stanislav
13.12.2017
21:47:27
как передать компоненту не через пропсы а через дату при инициализации?
компоненты не педеются через пропсы в Vue (по филосовским причинам) Только данные.

Max
13.12.2017
21:47:32
ок, тогда я передаю пропсы который опередяют изначальное состояние

Anton
13.12.2017
21:47:45
Да

Они же могут и поменять потом в дальнейшем состояние управляемого компонента

Max
13.12.2017
21:48:18


но если я реализую логику обновления состояния не сервере внутри компонента

Anton
13.12.2017
21:49:21
Имеете ввиду полученные данные потом мутировать?

Max
13.12.2017
21:50:07


сейчас я привязываю props active к модели чекбокса

это видимо неправильно

Google
Anton
13.12.2017
21:51:06
Да

Надо локальную дату привязать к чекбокссу

И потом эмитить в родитель изменения

У вас задача стоит сообщить родителю данные из чекбокса - это делается через $emit

то есть надо с помощью события данные отдать

paren -> child = props child -> parent = event

Stanislav
13.12.2017
21:54:17
Надо локальную дату привязать к чекбокссу
Локальная дата тут не нужна) Состояние через пропс, а изменения сразу emit

Anton
13.12.2017
21:54:48
Я ниже про это написал. Просто если нужна будет v-model, придется юзать data скорее всего

Gleb
13.12.2017
22:00:14
подскажите плс есть ли хорошие темплейnы/бойлерплейты сделать на vue сайт портфолио себе? главное, чтобы разделы были разные

Anton
13.12.2017
22:04:25
В vue-awesome полно всяких

Max
13.12.2017
22:07:24
то есть надо с помощью события данные отдать
мы просто выше обсуждали что алтернативно все операции с сервером можно делать в компоненте

я не хочу разбивать логику между компоненом и родителем

Max
13.12.2017
22:07:51
хочу что бы компонент сам отправил все на сревак и обновил статус свой

в таком случа отправлять родителю не нужно

можно просто сделать axios.patch внутри компонента

но как обновить состояние конпонента если нельзя трогать props ?

Stanislav
13.12.2017
22:09:26
но как обновить состояние конпонента если нельзя трогать props ?
Родительского компонента? Отправить событие

Max
13.12.2017
22:09:27
или в целом компонент не может обновлять свое состояния

Stanislav
13.12.2017
22:10:44
собственноей
Если компонент сам отправляет свои данные, то зачем ему пропсы?) Он внутри себя все хранит.

Google
Max
13.12.2017
22:11:13
Если компонент сам отправляет свои данные, то зачем ему пропсы?) Он внутри себя все хранит.
о, уже теплее, тогда через пропсы мы не пеедаем компоненту данные, а как иначе передать тогда?

в целом задача простая - есть массив объектов на входе, объект с атрибутом status: treu/false нужно нарисовать список объектов с чекбоксом по status, если я нажимаю на чекбокс - слать на серверт patch по объектуу и обновлять его состояния не сервере ну и на фронте соответственн

так вот родитель у меня получает собственно массив

и потом отрисовывает компонент для каждого объекта передавая пропсы

когда я нажимаю на чекбокс - компонент ловит это событие и шлет на сервер патч для обновления состояни

вопрос - как обновить атрибут компонента на новое состояния если трогать пропсы нельзя?

Gleb
13.12.2017
22:14:10
В vue-awesome полно всяких
Спасибо, посмотрю

Vladyslav
13.12.2017
22:29:06
В общем, такой вопрос, для свежего холивара. Запросы к API выполнять в экшенах Vuex. True - false?

Bender
13.12.2017
22:29:24
как хочешь)

Vladyslav
13.12.2017
22:29:52
Добавлю что конечно все API будут в сервисе, но их вызов будет в экшенах Vuex

Admin
ERROR: S client not available

Max
13.12.2017
22:31:55
тобишь в компоненте?

Vladyslav
13.12.2017
22:32:12
Нет, в самом экшене vuex

Vladyslav
13.12.2017
22:33:09
Например, имеем компонет User в vuex. У него есть действие LoginIn и запрос к авторизации будет вызван в этом действии. А мутация будет конечно вызвана лишь в случаи если ответ от сервера - ок

Bender
13.12.2017
22:33:17
более чистые компоненты

Vladyslav
13.12.2017
22:33:28
Тогда все управление данными остается в vuex

и Vuex не будет просто хранилищем, а уже сервисом работы с данными

Serge
13.12.2017
22:33:54
Не пойму нахрена вы все в vuex тащите

Google
Bender
13.12.2017
22:35:22
всмысле нельзя?

Vladyslav
13.12.2017
22:35:42
@c01nd01r в моем приложении, есть еще множество релаций юзера которые очень удобно и логично вынести как отельные компонент vuex. ?

Bender
13.12.2017
22:35:44
передавай пропсом обновленное значение и все

?

Max
13.12.2017
22:35:50
ну нельзя менять пропсы изнутри компонента вроде

Vladyslav
13.12.2017
22:36:00
@obsly почему?))

Bender
13.12.2017
22:36:03
тебе наверх данные передать нужно?

Max
13.12.2017
22:36:15
да не очень

Bender
13.12.2017
22:36:24
обновить пропсы для родительского компонента, или для какого-то компонента не находящегося в иерархии parent -> child?

Max
13.12.2017
22:36:51
компоненту внутри себя отправить запрос на сервак и обновить свое же состояние по результтау

Vladyslav
13.12.2017
22:37:02
@c01nd01r разные компоненты меняют эти данные в разных местах приложения.

Max
13.12.2017
22:37:03
но изначально данные он принимает от родителя через пропсы

Bender
13.12.2017
22:37:09
все просто

получил через пропс, сделал копию в data

Bender
13.12.2017
22:37:27
потом уже обновляешь дата

Max
13.12.2017
22:37:43
волшебно) то есть это норм метод?

Bender
13.12.2017
22:37:55
копию можешь сделать через JSON.parse stringify

Vladyslav
13.12.2017
22:37:57
@c01nd01r правильно, тогда они будут лежать в 1-м месте и vuex для всех компонетов будет истиной

Bender
13.12.2017
22:38:06
или через lodash

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