@vuejs_ru

Страница 3353 из 3900
Богдан
30.07.2018
13:52:35
ну не нужно создавать дополнительный инстанс Vue для EventBus, тут главный инстанс будет брать на себя роль EventBus

хотя может это действительно экономия на спичках

Michael
30.07.2018
13:55:33
Google
Alex
30.07.2018
13:55:42
если брать текущий инстанс то event listener'ы будут слушать root приложения

а наша задача сделать изолированный pipe

dev
30.07.2018
13:56:10
парни такой вопрос. Есть поля для ввода. они завязаны на моделях mode1.prop1.prop2

сейчас возникла задача добавить model1.prop2.prop3

но тк проп2 проп3 нет оно ругается ошибкой. как можно задать "default" ?

тк указывать через дата это гемор . они с аякса тянутся

в аяксе этого еще нет но будет после сохранения

Alex
30.07.2018
13:57:32
а привести к плоскому виду не вариант?

Michael
30.07.2018
13:58:20
this.$set, если я правильно понял

dev
30.07.2018
13:59:07
пока не вариант

есть ли способ указания default ?

Богдан
30.07.2018
14:02:10
но тк проп2 проп3 нет оно ругается ошибкой. как можно задать "default" ?
Держи костыль model = null myDefault = 100 console.log(model && model.prop2 && model.prop2.prop3 || myDefault)

Google
dev
30.07.2018
14:02:29
ну это да

Alex
30.07.2018
14:03:12
так вы придумали lodash.get

Богдан
30.07.2018
14:03:45
тянуть целую функцию, ради одной строки ... это уже неинтересно

DimenSi
30.07.2018
14:03:47
вообще-то есть вариант через прокси, но к сожалению он не везде поддерживается и может конфликтовать с реактивностью. Поэтому просто оформи обьект по default и и потом мерджи его рекурсивно с данными из аякса

Александр
30.07.2018
14:03:48
http://prntscr.com/kct7r2 почему не срабатывает watch, хотя в масив в methods добавляю элементы в массив?

Alex
30.07.2018
14:04:16
тянуть целую функцию, ради одной строки ... это уже неинтересно
эта функция на практике используется повсеместно

была интересная даже статистика по использованию функций лодаша на гитхабе

Богдан
30.07.2018
14:08:09
эта функция на практике используется повсеместно
уже ждемс чайнинг оператор https://github.com/tc39/proposal-optional-chaining

Alex
30.07.2018
14:08:37
не дай бог

Богдан
30.07.2018
14:08:51
хм ... почему?

Alex
30.07.2018
14:09:04
больше дерьмосахара богу дерьмосахара

и так как инвалиды на js пишут

Павел
30.07.2018
14:09:15
никто на весь чат в 3.5к
а по делу естьчто?

Alex
30.07.2018
14:09:17
а тут еще и нечитабельно будет

Богдан
30.07.2018
14:10:09
ну да, а тот вариант что я скинул читабельней ? model && model.prop2 && model.prop2.prop3

Alex
30.07.2018
14:10:18
да читабельнее

DimenSi
30.07.2018
14:10:21
плагин какой-то пилишь?
нет, человек спросил выше

Alex
30.07.2018
14:10:39
но get(foo, 'path') еще читабельнее

Stanislav
30.07.2018
14:11:26
нет, человек спросил выше
Делать прокси-объект, чтобы проверить наличие поля в объекте?

Google
DimenSi
30.07.2018
14:11:59
Делать прокси-объект, чтобы проверить наличие поля в объекте?
нет, возвращать значение по умолчанию, если нет значения

Michael
30.07.2018
14:19:39
а по делу естьчто?
какой вопрос такой и ответ был. Кто знает? - никто не знает. Мы тут вообще некомпетентны.

Александр
30.07.2018
14:19:49
через $set нужно было добавлять элементы в массив)) 2 часа в никуда

http://prntscr.com/kct7r2 почему не срабатывает watch, хотя в масив в methods добавляю элементы в массив?

Павел
30.07.2018
14:21:02
нужно вызвать этот Mutation с помощью appolo

Arsen
30.07.2018
14:26:28
через $set нужно было добавлять элементы в массив)) 2 часа в никуда
Вообще push тоже должен был срабатывать, ты каким образом туда добавлял элементы?

Александр
30.07.2018
14:27:55
пуш не совсем подходил, так как мне нужно было или добавить или обновить)))

Arsen
30.07.2018
14:27:55
нужно вызвать этот Mutation с помощью appolo
apollo.mutate({ mutation: ` mutation accountSave($input: AccountInput) { accountSave(input: $input) { ... } } `, variables: { input: 'value' }, })

Можно ещё splice

Arsen
30.07.2018
14:29:00
Но $set очевиднее

нужно вызвать этот Mutation с помощью appolo
Но это вопрос никаким боком не касается вуя, если чо, так что вопрос задан не в том чате

Павел
30.07.2018
14:36:49
apollo.mutate({ mutation: ` mutation accountSave($input: AccountInput) { accountSave(input: $input) { ... } } `, variables: { input: 'value' }, })
спасибо, мое решение точно такое же, но получаю ошибку this.$apollo.mutate({ mutation: gql`mutation($accountInput: AccountInput) { saveAccount(account: $accountInput) }`, variables: { account: {id:7, name:'newName'}, }, })

Arsen
30.07.2018
14:37:15
Переменная у тебя называется accountInput а передаёшь account

Павел
30.07.2018
14:37:16
{"errors":[{"message":"Cannot query field \"saveAccount\" on type \"Mutation\".","locations":[{"line":2,"column":3}]}]}

Arsen
30.07.2018
14:38:18
Павел
30.07.2018
14:44:30
accountSave(input: $input)

Google
Павел
30.07.2018
14:44:48
первый input это как бы не имя, он обязательно должен быть input судя по всему

Arsen
30.07.2018
14:44:54
А ну да, я чтот это не заметил, что ты account передаёшь

Первый инпут это имя параметра который описан в схеме

А вот переменную можешь назвать как хочешь

apollo.mutate({ mutation: ` mutation accountSave($chupackabra: AccountInput) { accountSave(input: $chupackabra) { ... } } `, variables: { chupackabra: 'value' }, })

Павел
30.07.2018
14:46:35
ну точнее не имя а тип

а так да, все верно

Arsen
30.07.2018
14:46:41
Точнее имя

Admin
ERROR: S client not available

Arsen
30.07.2018
14:46:42
А не тип

Павел
30.07.2018
14:47:02
хм, у мен в схеме input AccountInput

я думал. input это тип, а AccountInput это имя

Arsen
30.07.2018
14:47:33


Ты просто назвал параметр так же, как ключевое слово для объявления типов входящих данных

Кароче шоб проще было: input AccountInput { id: Int name: String } type Mutation { accountSave(account: AccountInput): Account } ----------- this.$apollo.mutate({ mutation: ` mutation accountSave($chupackabra: AccountInput) { accountSave(account: $chupackabra) { ... } } `, variables: { chupackabra: 'value' }, })

Павел
30.07.2018
14:50:41
да это я все понял, но не пойму, почему input это имя.

подожди

это будет работать?

Arsen
30.07.2018
14:51:04
Да

да это я все понял, но не пойму, почему input это имя.
Потому что mutation { mutationName( arg1name: typeOfArg1, arg2name: typeOfArg2 ) }

Google
Павел
30.07.2018
14:51:39
понял, в схеме и в запросе должны совпадать имена

прост оя назвал его штзге

input и это меня и запутало

капец

дошло )

@ArStah спасибо, кстати в mutation accountSave($chupackabra: AccountInput) писать accountSave не обязтаельно, множно сразу mutation($chupackabra: AccountInput)

Arsen
30.07.2018
14:57:40
Ну принято давать имена мутациям

Вернее запросам

Павел
30.07.2018
15:00:57
@ArStah еще вопрос по теме. Допустим у меня есть AccountInput и AccountConfig которые имеют одинаковые поля, можно ли как било избежать копипасты кода?

Arsen
30.07.2018
15:01:14
Гугли union types

Rustam
30.07.2018
15:01:26
Люди а как передать php переменную внутрь шаблона {{$variable}} ?

Arsen
30.07.2018
15:01:26
Или что-то в этом роде

Я сам графклем только с недавнего времени пользуюсь

Люди а как передать php переменную внутрь шаблона {{$variable}} ?
Переставать писать на PHP или спрашивать в чате @phpGeeks

Rustam
30.07.2018
15:02:53
блин ну vue же

Arsen
30.07.2018
15:03:24
Ну вывести переменную из PHP ведь надо

Roman
30.07.2018
15:03:30
Люди а как передать php переменную внутрь шаблона {{$variable}} ?
использовать не {{ а чо там в пхп шаблолнах юзают

ну и выкинуть его тоже варик))0

Arsen
30.07.2018
15:03:51
Если я на питоне или на шарпе писать буду, тоже тут спрашивать?

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