
Sergey
24.10.2018
11:28:17
либо нужно делать nl2br
то бишь искать все символы переноса и заменять на <br>

Владимир
24.10.2018
11:28:58
да

Сергей
24.10.2018
11:29:01
понятно

Google

Ivan
24.10.2018
11:30:54
store = {
items: [
[1, 2, 3],
[1, 2, 3]
],
confirmActivated: false,
confirmCallbacks: { doneCallback: null, cancelCallback: null }
}
Структура апки
ComponentA
ComponentB
...
...
ConfirmComponent
Для того что бы удалить ComponentB я емичу событие которое обрабатывает ComponentA.
ComponentA диспатчит екшн который удаляет итем из стейта в Vuex.
Все просто, но.
Мне нужно сделать подтверждение удаления.
Сейчас из ComponentA я диспатчу екшн который активирует ConfirmComponent.
В екшн я передаю коллбеки которые вызывает ConfirmComponent.
doneCallback емитит евент из контекста ComponentB, cancelCallback - делает ничего.
Так делать вообще нормально?
Я пока хз как это по другому разрулить.


Alex
24.10.2018
11:32:08
Товарищи, добрый день!
Подскажите как правильно передавать в шаблоны?
у меня есть app.js
...
data() {
return {
materials: null,
}
},
mounted() {
/*получаем список*/
axios
.get('api.php?s=g')
.then(response => (this.materials = response.data));
},
есть отдельный темлейт Main.vue с циклом
...
<tr v-for="(v, index) in materials">
...
я получаю Property or method "materials" is not defined ...
как правильно передавать в шаблон?

Юрий
24.10.2018
11:34:12
materials: null видимо поэтому undefined

Alex
24.10.2018
11:34:37
если не выносить в отдельный шаблон то все работает
а если выношу то печаль

Max
24.10.2018
11:35:13
Всем привет, почему Date.parse() нормально реагирует на значение: Date.parse(+2018-01-01) а не валится с isNan? Как сделать что бы символы перед датой не валидировались?

DimenSi
24.10.2018
11:36:36

Alex
24.10.2018
11:37:01

DimenSi
24.10.2018
11:37:04
Вообще как ты в main пропсы передаешь материал
@js_ru

Michael
24.10.2018
11:40:31

Google

Znacovean
24.10.2018
11:41:04
Доброго дня всем.
Ночью задавал вопрос, но так и не разобрался(
http://s2.micp.ru/f2h0s.jpg
почему передаваемые компоненту пропсы не коллекционируются в this.$attrs? он пуст, а вместо этого пропсы попадают как свойства компонента. Как это исправить и получить все переданные? Спасибо!

Максим
24.10.2018
11:42:17

DimenSi
24.10.2018
11:42:37
Честно говоря это вопрос логики наверно, если атрибуты указаны как пропсы, то атрибуты уже не атрибуты, а пропсы, парам пам пам.

Максим
24.10.2018
11:43:29

DimenSi
24.10.2018
11:43:54

Максим
24.10.2018
11:44:20

Illya
24.10.2018
11:44:21
Ну так и должно быть. Пропсы реактивны, атрибуты нет
Вью изымает пропсы из аттрс

Максим
24.10.2018
11:44:49
Он же описал свойство как пропс

DimenSi
24.10.2018
11:44:57

Znacovean
24.10.2018
11:45:14
если конкретизировать вопрос - как мне их получить скоупом?
мне нужны они для передачи в динамический компонент

Michael
24.10.2018
11:45:52
чекните, что данные в проп реактивные попадают и что двоеточие перед именем есть)

DimenSi
24.10.2018
11:45:52

Максим
24.10.2018
11:45:56

Alexander
24.10.2018
11:46:28

DimenSi
24.10.2018
11:46:55
А ты просто проверь и узнаешь.

Максим
24.10.2018
11:47:16
А поверить не получается?)
Забавные вопросы, конечно

Alexander
24.10.2018
11:47:20

Google

Alexander
24.10.2018
11:47:32
но странно, думал что vue должен как-то проследить
думаю что я пока просто где-то лоханулся
ща разберу через v-bind:value, v-on:input
тогда ему уже некуда деться, должен работать

Znacovean
24.10.2018
11:49:00
http://s1.micp.ru/8afLu.jpg
вот в функции рендер мне надо получать из пропса родительского компонента имя компонента (this.component) и пропсы этмоу компоненту (this.componentProps) и прокидывать в рендер функции динамически создаваемому компоненту исходя из переданного имени
компонент по итогу выводится
осталось понять почему пропсы не попадают

Alex
24.10.2018
11:49:09
Дока -> основное -> компоненты
да, прочитал, только я использую для шаблонов отдельные файлы и вот эту приблуду http-vue-loader. https://github.com/FranckFreiburger/http-vue-loader. И что-то не соображу как в нее передать пропсы

DimenSi
24.10.2018
11:50:46

Alex
24.10.2018
11:51:32
через шаблон...
т.е. я в самом файле шаблона должен props указать или в app.js? (запутался, сори)

DimenSi
24.10.2018
11:51:50
там где ты вызываешь свой <main-component>
или описываешь

Alex
24.10.2018
11:53:22
там где ты вызываешь свой <main-component>
у меня в app.js примерно так
const routes = [
{ path: '/', component: httpVueLoader('./components/Main.vue') },
{ path: '/foo', component: httpVueLoader('./components/Foo.vue') },
{ path: '/bar', component: httpVueLoader('./components/Bar.vue') },
]
const router = new VueRouter({
routes
})
var mylist = new Vue({
el: '#app',
router,
....
data() {
return {
materials: null,
}
},
mounted() {
/*получаем список*/
axios
.get('api.php?s=g')
.then(response => (this.materials = response.data));
},
далее в инлексном файле
<li><router-link to="/">Главная</router-link></li>
....
<router-view></router-view>

DimenSi
24.10.2018
11:53:47
в роутер view

DimenSi
24.10.2018
11:53:48
кидай
а он прокинет в main, а в самом main укажи пропсы которые ожидаешь

Alex
24.10.2018
11:54:49

DimenSi
24.10.2018
11:55:21
если так сделать , то у тебя получится типо как { ...materials }
ты же хочешь получить под нужным именем, под нужное имя и прокидывай

Evgeny
24.10.2018
11:55:42
Друзья привет! Мы ищем англоязычных докладчиков, кто желает выступить на Vue.js митапе в Софии (Болгария) :) Если кому-то интересно выступить/поучаствовать или знает кого-то кто может, пишите! Примерные даты - конец ноября/начало декабря.
PS В Москве тоже будет митап, но пока не определились с датами, обращайтесь кому интересно.

Alex
24.10.2018
11:56:11

DimenSi
24.10.2018
11:56:27

Google

DimenSi
24.10.2018
11:56:47

Illya
24.10.2018
11:56:55

Alex
24.10.2018
11:58:02

Znacovean
24.10.2018
11:59:27
v-bind="$props"
в jsx нельзя Так
ещё я выяснил что пропсы передаваемые напрямую а не деструктуризацией полученных свыше в функции рендрер - работают и нормально попадают в компонент
а те что создаются из fresh - копии - не попадают..тупо игнорируются( хотя консолю их в функции рендера и там обычный объект
http://s2.micp.ru/LKVDe.jpg
есть у кого-то идеи хоть?(

DimenSi
24.10.2018
12:02:33
могу узнать, зачем пропсы копируются перед прокидыванием вниз?
почему нельзя просто { ...this.$props } ?
я не уверен, но реактивности не должно быть же, если ты так делать будешь

Znacovean
24.10.2018
12:04:32
могу узнать, зачем пропсы копируются перед прокидыванием вниз?
я взял компонент нотификаций и перепилить решил
у них есть в качестве контента нотификации возможность передать инстанс компонента по имени но нет возможности передавать ему пропсы
я передал ко всем параметрам ещё и componentProps параметр который будет объектом свойства которого должны прокидываться создаваемому компоненту
что не так делаю то?(
обычно нотификации придуманы чтоб туда просто текст пулять
а мне нужно готовый мой компонент с пропсами..

Admin
ERROR: S client not available

Znacovean
24.10.2018
12:06:17
у нотификации особой реактивности не должно быть) меня устроит вариант хотябы того чтоб мне удалось таки прокинуть эти злосчастные пропсы
пробовал разными синтаксисами - ничего не помогает

DimenSi
24.10.2018
12:06:53
ой бля, хотелось бы тебе помочь, но чето влом
а твой нотификатор может порталы принимать?
вообще покажи его
может использовать портал для передачи компонентов

Znacovean
24.10.2018
12:07:40
https://github.com/BinarCode/vue-notifyjs
в открытых issue с мая кстати висит моя проблемка
и создатель видимо тоже либо забил на компонент либо не знает чё не так..
https://github.com/BinarCode/vue-notifyjs/blob/master/src/Notification.js#L130
это единственный нотификатор который даёт возможность передавать компонент) может плохо искал
у меня нет времени городить свой собственный
но судя по потраченному времени на разбор разницы особой не было бы если бы сам пилил..всё равно компонент и объект с пропсами ему мне надо было бы принимать в идеале

Google

Alex
24.10.2018
12:12:49

DimenSi
24.10.2018
12:14:13
а не router-view?

Alex
24.10.2018
12:14:58
ну как то так

DimenSi
24.10.2018
12:15:14
это ты объявил в компоненте, что он принимает такие пропсы
а как ты в шаблоне передаешь эти пропсы

Alex
24.10.2018
12:16:48
data() {
return {
materials: null,
}
},
и если шаблон не выносить в отдельный файл то все работает

DimenSi
24.10.2018
12:17:38
блядь у тебя есть ШАБЛОН
<template>
<div #app>
<main-component>
</div>
</template>
вот твой шаблон
как в main-component передать пропс?

Aleks
24.10.2018
12:18:54
доброго
vue cli
как убрать хеш в названии файла logo.82b9c7a5.png
то есть что б было logo.png
?

Alex
24.10.2018
12:20:21

Дмитрий
24.10.2018
12:20:58

DimenSi
24.10.2018
12:21:11