
БОГАТЫРЪ
12.10.2018
14:06:36
то есть
ты хочешь сказать передать с слэгом + id?
https://paste.laravel.io/b48f306c-facc-4cfa-b665-d16052a2973a

Google

Arsen
12.10.2018
14:12:44
Куда мне смотреть?

Andrey
12.10.2018
14:13:40

Sunlive
12.10.2018
14:15:15
???

БОГАТЫРЪ
12.10.2018
14:15:22

Andrey
12.10.2018
14:15:29
Посмотри там в installation все команды, примеры использования. Убедись, что установлен vue-cookie (он есть в package.json) Перезапусти сборку, если не сработает, то удали node_modules папку полностью и npm install и пробуй опять запустить сборку. Если не прокатит, кидай скриншот с ошибкой сюда

БОГАТЫРЪ
12.10.2018
14:15:31
это acrions.js

Максим
12.10.2018
14:17:01
@piskunoff я опечатался.. больше не ругается
теперь проблема в том, как использовать его.. )
this.$cookie.
не прокатывает

Andrey
12.10.2018
14:17:43
Я хз, не пользовался. Гугл в помощь
У тебя там ts, нужно наверно эту либу через тип устанавливать

Максим
12.10.2018
14:18:32
все без TS пользуются?

Google

Максим
12.10.2018
14:19:05

Arsen
12.10.2018
14:19:47
Почему VueCookie?

Bohdan
12.10.2018
14:20:03
A Vue.js plugin for manipulating cookies tested up to Vue v2.0.5
ты вообще смотришь, что устанавливаешь?

Sunlive
12.10.2018
14:20:18
зачем ставить тс если ты не умеешь в него :)
ну а если обучиться, то на каждую проблему в чате спрашивать такое себе

Andrey
12.10.2018
14:20:30
vue-cookie ??☺️
Слишком многа накидал всего. Сделай сначала hello world без ts. И когда импортишь библиотеку, пиши ее название как она в npm-е, то есть с маленькой буквы обычно кебаб-кейсом
Зачем тебе там какой-то проперти декоратор, это усложняет понимание наверно
Крч ибитес сами)
Я бекендер)

Nikita
12.10.2018
14:27:41
Гайз есть такая проблема, в сторе хранятся сущности, есть компонент(страница) для редактирования одной сущности, через роутер передаю id сущности и получаю, есть геттер для получения сущности по id, так вот как мне эту сущность вытянуть в data компонента что бы я мог через v-model привязаться к полям?

Максим
12.10.2018
14:27:57

Andrey
12.10.2018
14:28:57
Я хз, может есть и лучше вариант, но я этот сам использовал и вполне удобно
Могу пример скинуть
shown: {
get() {
return this.$store.state.deal.showSpecifyDetailsModal;
},
set() {
this.track(this.shown ? 'close' : 'open');
this.$store.commit('deal/toggleSpecifyDetailsModal');
}
},
и через v-model это проперти можно куда угодно привязывать


Nikita
12.10.2018
14:45:13

Andrey
12.10.2018
14:45:24

Google

Nikita
12.10.2018
14:45:40
А set ты как дергаешь?
v-model="shown"

Andrey
12.10.2018
14:45:57
он сам дергается если повесить v-model на инпут например

Nikita
12.10.2018
14:45:57
?

Andrey
12.10.2018
14:46:03
да
это у меня модальное окно кастомное, оно выбрасывает 'input',false при закрытии, поэтому можно использовать v-model прямо на модалке

Nikita
12.10.2018
14:47:28

Andrey
12.10.2018
14:47:54
когда будешь типа сохранять?

Nikita
12.10.2018
14:49:49

Andrey
12.10.2018
14:50:40
короче смотри как можно сделать. При получении сущности с сервера, кладешь ее в стор, и копируешь ее полностью в отдельный обьект в сторе, типа у тебя будет item и originalItem. При редактировании, будет меняться item, а когда нажмешь на кнопку сохранить, то в сторе дернешь action с put-запросом на редактирование, все поля из item передашь соответственно. originalItem понадобиться, чтобы кнопку сохранить сделать disabled. Сравнивать два обьекта любой вложенности можно с помощью lodash.isequal
в сторе у тебя сущость car&

Andrey
12.10.2018
14:50:53
?

Nikita
12.10.2018
14:51:12

Andrey
12.10.2018
14:51:23
кароче для самой сущности можно не делать сеттер, а только на отдельные свойства.

Nikita
12.10.2018
14:52:05

Andrey
12.10.2018
14:52:58
сколько у тебя полей там?
если много, то наверно моя затея говно)
потому что под каждое свойство придется делать геттер/сеттер.
Можно реально в data все пихнуть при инициализации компонента

Google

Nikita
12.10.2018
14:54:34

Andrey
12.10.2018
14:55:10
тогда наверно можно и так сделать. Ща скину пример

Admin
ERROR: S client not available

Nikita
12.10.2018
14:55:32
Через computed если делать
как я выше скинул
можно же делать v-model="car.model"
например?
Или оно работать не будет?
Скорее да

Andrey
12.10.2018
14:59:20
будет, но нельзя мутировать обьект из стора вне мутаций, типа bad pratice считаеся
computed: {
id() {
return this.$route.params.id;
},
car() {
//получаешь итем из стора
return this.$store.state.card[this.id];
},
// Вешать на инпуты v-model="name"
name: {
get() {
return this.car.name;
},
set(value) {
this.setValue('name', value)
}
},
/**
* Аналогично другие свойства обьекта
*/
},
methods: {
setValue(propertyName, value) {
this.$store.commit('setValue', {
id: this.id,
propertyName,
value
})
}
},

Nikita
12.10.2018
15:00:19

Andrey
12.10.2018
15:00:21
соответственно реализовать надо мутацию по изменению обьекта в сторе
можно и так. Если на момент инициализации компонента car точно есть, то можно в created(){} пихнуть копирование car в data. Типа вот так this.car = Object.assign({},this.carFromStore);

Nikita
12.10.2018
15:02:29
Тогда наверное лучше так и сделать
А есть ли возможность пихнуть это в data
без car?

Andrey
12.10.2018
15:03:37
все свойства обьекта просто?

Nikita
12.10.2018
15:04:19
this.car=..

Google

Nikita
12.10.2018
15:04:23
this=
так же можно?

Andrey
12.10.2018
15:04:33
нет)

Nikita
12.10.2018
15:04:47
this.$data=...
?

Andrey
12.10.2018
15:04:58
нужен Vue.set
почитай про него
Vue.set(this, 'name', this.car.name);

Nikita
12.10.2018
15:06:45
Жесть какая-то выходит
)

Andrey
12.10.2018
15:06:53
или нужно изначально в data держать пустые переменные. и без Vue set их переприсваивать типа this.name = this.car.name. Но это не очень, так как приходится хард-кодить эти проперти. Лучше использовать Vue.set, он добавит новое значение в data, и оно будет реактивным
ты постепенно
попробуй через геттеры-сеттеры
потом перепишешь, если не понравится

Nikita
12.10.2018
15:07:42
Наверное проще сделать через this.car