@vuejs_ru

Страница 3794 из 3900
БОГАТЫРЪ
12.10.2018
14:06:36
то есть

ты хочешь сказать передать с слэгом + id?

Или в route params
исходя из этого

https://paste.laravel.io/b48f306c-facc-4cfa-b665-d16052a2973a

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

Andrey
12.10.2018
14:13:40
в shims-tsx.d.ts - также
https://www.npmjs.com/package/vue-cookie

Sunlive
12.10.2018
14:15:15
???

БОГАТЫРЪ
12.10.2018
14:15:22
Куда мне смотреть?
загрузка же идёт в actions

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 привязаться к полям?

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 это проперти можно куда угодно привязывать

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
когда будешь типа сохранять?

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
в сторе у тебя сущость car&
У меня там массив этих сущностей

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

Nikita
12.10.2018
14:52:05
Andrey
12.10.2018
14:52:58
сколько у тебя полей там?

если много, то наверно моя затея говно)

потому что под каждое свойство придется делать геттер/сеттер.

Можно реально в data все пихнуть при инициализации компонента

Google
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
все свойства обьекта просто?

без car?
вот это я не понял крч

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

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