
Dmitry
25.10.2017
06:48:31
Вот пришло же как то человеку в голову поискать это))

Alex
25.10.2017
06:49:20

Danil
25.10.2017
06:53:06
Народ, по моему вопросу. А если открытие закрытие диалогового окна оставить в родительском компоненте, а тело диалогового окна вынести в отедльный компонент - это нормально или не очень?

Alex
25.10.2017
06:56:33

Google

Danil
25.10.2017
06:56:59
<md-dialog :md-click-outside-to-close="false" :md-esc-to-close="false" ref="deleteDialog">
<DeleteDialog v-on:fetchBodysize="fetchData" v-on:closeDeleteDialog="closeDialog('deleteDialog')" :id="bodysizeId" />
</md-dialog>

Alex
25.10.2017
06:57:11

Alex
25.10.2017
06:58:01
По мне должно быть так:
Всё что касается компонента - должно быть в нём
Из родительского спускать данные вниз или через State
Содержимое подменять через слоты

Danil
25.10.2017
07:01:57
Если делать все одном компоненте, то слишком большая портянка получается. Поэтому хочу вынести диалоговые окна в отдельные файлы

Artur
25.10.2017
07:03:25
@balalay12 то есть - декомпозиция компоненты на 2 и более компонент? весь смысл раздеоения сущностей в том, что в одном файле разметка и слили и клей из js

Alex
25.10.2017
07:03:38

Alex
25.10.2017
07:03:48

Artur
25.10.2017
07:06:23
если декомопзировать на компоненты дизайна то конечно диалогоговые окна выделяются в отдельный класс комопнент с разметкой "поверх" существующей разметки, и специальной привязкой отностельно родительского css

Pavel
25.10.2017
07:08:15
Доброе утро всем, подскажите пожалуйста как собрать поля формы для отправки при использовании vuex и computed свойства. https://jsfiddle.net/maksimenka/eb2trqng/

Dmitry
25.10.2017
07:10:06

kuanysh anuarkhanov
25.10.2017
07:10:29

Dmitry
25.10.2017
07:10:35
Если хочется в вычисляемые свойства его запихать, нужно геттеры и сеттеры добавить

Pavel
25.10.2017
07:11:17
т.е. через set записать в data() { user: {}} ?

Google

Dmitry
25.10.2017
07:14:08

Pavel
25.10.2017
07:15:56
Как то так https://jsfiddle.net/eb2trqng/1/
В том то и проблема, vuex так сделать не даст. У меня случай примерно как в доках: https://vuex.vuejs.org/ru/forms.html , только я хочу после редактирования всех полей отправлять, а не просто редактировать и отправлять при @input

Artur
25.10.2017
07:19:50
@maksimenka то есть отправлять типа form on submit post
button on submin

Pavel
25.10.2017
07:20:16
интересует как лучше собрать данные из полей

DimenSi
25.10.2017
07:21:42
Ну, у тебя же в дате лежат данные
Которые привязаны к полям через v-model

Artur
25.10.2017
07:22:05
А в vuew 2.5 автоматически генерируемы еполя до 1 уровня могут чем-то помочь? my.address my.indexField

Dmitry
25.10.2017
07:22:43

Artur
25.10.2017
07:23:42
v-on Automatic Key Modifiers

Pavel
25.10.2017
07:24:46


Artur
25.10.2017
07:24:59
Simplified Scoped Slots Usage
Previously we must use <template> in combination with the scope attribute to denote a scoped slot:
<comp>
<template scope="props">
<div>{{ props.msg }}</div>
</template>
</comp>
The original reasoning was to avoid the ambiguity in the use of the scope attribute, because it can be confused for a prop if used on a component. However, the required <template> results in an extra level of nesting, which makes the syntax a bit verbose.
In 2.5, the scope attribute has been deprecated (it still works, but you will get a soft warning). Instead, we now use slot-scope to denote a scoped slot, and it can be used on a normal element/component in addition to <template>:
<comp>
<div slot-scope="props">
{{ props.msg }}
</div>
</comp>
Note that this change means that slot-scope is now a reserved attribute and can no longer be used as a component prop.

Pavel
25.10.2017
07:24:59
Ладно, буду разбираться, спасибо

DimenSi
25.10.2017
07:25:49


Pavel
25.10.2017
07:26:37
Тоже верно, но тогда появляется проблема при релоаде, надо запрашивать данные в этом компоненте где использую, и получаю лишний запрос.

Dmitry
25.10.2017
07:26:56
Потом когда надо, собирай все нужные данные из сторы и отправляй

DimenSi
25.10.2017
07:27:36

Pavel
25.10.2017
07:27:49
нет

Google

Dave
25.10.2017
07:28:06
Наконец то сделал компонент автокомплита из vue-multiselect

DimenSi
25.10.2017
07:28:07
Тогда что за reload?

Pavel
25.10.2017
07:28:34
обновление страницы

DimenSi
25.10.2017
07:29:16
Wtf? Тогда почему ты беспокоишься о лишнем запросе?

Pavel
25.10.2017
07:29:55
Точнее не лишний запрос, а одинаковый запрос. Я эти же данные заправшиваю при загрузке приложения.
Через computed они отлично подтягиваются
а геттер отдает undefined, приходится делать запрос и через then обрабатывать

DimenSi
25.10.2017
07:31:09
В родители повесь v-if на компонент, в родители запрашивай данные.

Pavel
25.10.2017
07:31:38
я в корневом запрашиваю app.vue

DimenSi
25.10.2017
07:32:16
Ну тогда просто повесь v-if, а в родители получи доступ к гетеру
Когда геттер обновится, появится компонент.

Василий
25.10.2017
07:32:33
А есть у кого книги годные по vue?
Дока слишком сухая, такое себе читалово :D

Alex
25.10.2017
07:32:51
Уу

DimenSi
25.10.2017
07:32:57

Василий
25.10.2017
07:33:06

DOUBLE WITHDRAWAL
25.10.2017
07:33:11
Уу

DimenSi
25.10.2017
07:33:16
Уу

Dmitry
25.10.2017
07:33:18
Уу

Aleksey
25.10.2017
07:33:25
Ээ

Дмитрий
25.10.2017
07:33:29
Уууу

Google

DOUBLE WITHDRAWAL
25.10.2017
07:33:31
Я не очень много таких крутых док, как у вьюхи видел.

Василий
25.10.2017
07:33:32
not "Уу"

Pavel
25.10.2017
07:33:41

Alex
25.10.2017
07:34:32
сильное?
Сильное заявление. Проверять мы его, конечно же, не будем

DimenSi
25.10.2017
07:34:43
Почему он у тебя undefined, ты в сторе ему не задал значение по умолчанию? Типо null
Как я понял из твоего текста, у тебя есть компонент с формой в котором редактируются данные и апп в котором запрашиваются эти данные. И ты не хочешь, чтоб эти данные запрашивались повторно. Тогда логично, запросить данные в родители или апп, ждать пока они появятся и потом уже показывать компонент.

Pavel
25.10.2017
07:36:50
Точнее я поучаю обсервер без данных

DimenSi
25.10.2017
07:37:07
К счастью у нас все реактивно, и поэтому достаточно v-if повесить.

Pavel
25.10.2017
07:39:02
Обвервер с прототипом и вэлью вроде, в котором опять же прототип а данных нет
Это все решаемо через watch но это все усложняет код
Поэтому и решил сделать как в мануале по vuex

DimenSi
25.10.2017
07:41:00
Когда ответ приходит, данные появляются в том геттере?

Дмитрий
25.10.2017
07:41:20

Pavel
25.10.2017
07:42:23
Мне в любом случае надо сделать новый объект user (Object.assign), поэтому тут computed не подойдет

DimenSi
25.10.2017
07:42:46
Ты на мой вопрос ответь

Pavel
25.10.2017
07:44:33

DimenSi
25.10.2017
07:45:43
Просто геттеры vuex, работают как комьютед свойства.
И мне не понятно, откуда у тебя проблемы.

Pavel
25.10.2017
07:46:04

Google

DimenSi
25.10.2017
07:46:07
Или от чего.

Pavel
25.10.2017
07:46:44
http://c2n.me/3OS23w9

DimenSi
25.10.2017
07:47:07
Когда ответ пришел, данные появились в get profile?

Pavel
25.10.2017
07:47:18
нет
Вот так работает: computed: {
profile() {
return this.$store.getters.getProfile;
}
},
created() {
this.$store.dispatch('getProfile')
.then(() => {
this.user = Object.assign({}, this.profile)
})
},
но каждый раз когда заходишь на страницу, данные запрашиваются, а я хочу их брать из store
Короче буду разбираться, спасибо за наводки.

DimenSi
25.10.2017
07:49:33
Ты переписываешь комьютед свойство?

Pavel
25.10.2017
07:50:04
можно из промиса данные взять
Не суть

DimenSi
25.10.2017
07:52:59
Хм, звучит как хрень какая та.
Если бы делал я.
То в родители делал диспатч.
Потом геттер прикидывал в компонент формы, а в ней уже делал бы assign.
И вешал бы на компонент формы v-if=profile
В сторе у свойства профиль повесил бы значение по умолчанию null

Pavel
25.10.2017
07:53:56
Основная проблема в том что данные из dispatch используются в нескольких компонентах, независимых друг от друга ( не вложенных )

Alex
25.10.2017
07:54:10

Василий
25.10.2017
07:54:27
Да ну я не говорю, что они плохие же, ну
Я о том, что было бы круто книжку, где на примерах разрабатывают приложение)

DimenSi
25.10.2017
07:54:57
Ему секретные техники нинзя нужны