@vuejs_ru

Страница 2428 из 3900
Fedor
29.03.2018
18:41:19
всё ок {data: ƒ, name: "pretty-csr", props: Array(1), watch: {…}, render: ƒ, …}

Stanislav
29.03.2018
18:43:44
Andy
29.03.2018
18:45:22
ребят привет, небольшой вопрос, есть ли какой-нибудь способ, чтобы не писать в каждом методе let vm = this при написании однофайлового компонента?

Google
Andy
29.03.2018
18:46:01
а как они помогут в этом случае?

Stanislav
29.03.2018
18:46:24
а как они помогут в этом случае?
Именно так, как спрашиваешь

Arsen
29.03.2018
18:46:28
Ребята, нужна помощь. Во vue-devtools показывается большое количество root-компонетов, что может быть не так?
У меня такое было, проблема была в том, что на сервере рендерилось не так же как на клиенте, а конкретно - у меня был условный рендеринг внутри <transition> и на сервере получалось так, что условие ложное и содержимое transition было пустым

Евгений (Light4everyone)
29.03.2018
18:46:50
господи, когда же сука стрелочные ф-ии все знать будут

Stanislav
29.03.2018
18:46:56
?

Бомбануло

Andy
29.03.2018
18:47:47
бля, помогли))

шучу, нет

Sam
29.03.2018
18:48:42
В стрелочной функции this будет указывать на vm

Fedor
29.03.2018
18:48:44
Тогда код в студию
Компонент <template> </template> <script> export default { data: function () { return { csr: null, priv: null } }, name: 'pretty-csr', props: ['instance'], watch: { instance (val) { this.csr = val['csr'] this.priv = val['priv'] } } } </script> <style scoped> </style>

Alexander
29.03.2018
18:49:12
в реакте топят за styled-components, мне это не нравится, придумали еще одну абстракцию/синтаксис, надо чтобы редактор поддерживал, хрень какая-то

Alexander
29.03.2018
18:49:45
идея отличная, реализация отстой

Google
Fedor
29.03.2018
18:49:55
А components где?
это дочерний

Arsen
29.03.2018
18:50:31
Но явно это не к добру

Ну и у меня было только два рута

А не дофигище как у тебя

Kirill
29.03.2018
18:50:46
Охохо

Fedor
29.03.2018
18:50:49
А components где?
Вот так импортирую import PrettyCSR from '../prettydisplay/PrettyCSR' export default { components: { PrettyCSR },

Arsen
29.03.2018
18:51:08
Один раз три было, но потом опять два

Stanislav
29.03.2018
18:51:18
Andy
29.03.2018
18:52:04
В стрелочной функции this будет указывать на vm
спасибо)) вообщем нашел что искал в примерах, возможно кому-то еще будет интересно https://gist.github.com/JacobBennett/7b32b4914311c0ac0f28a1fdc411b9a7

Fedor
29.03.2018
18:52:09
А шаблон, в котором его используешь ?
<v-stepper-content step="3"> <pretty-csr :instance="created"></pretty-csr> </v-stepper-content>

Arsen
29.03.2018
18:53:09
<v-stepper-content step="3"> <pretty-csr :instance="created"></pretty-csr> </v-stepper-content>
При такой записи тебе надо будет его использовать как pretty-c-s-r

Импортируй как PrettyCsr

Fedor
29.03.2018
18:55:57
Импортируй как PrettyCsr
Спасибо большое

Anton
29.03.2018
19:09:35
Привет! Новичок в Vue. Разработал интерфейс управления заказами интернет-магазина. Должен открываться в браузере. Но все это жутко тормозит на слабых мобильниках. Есть какой-то чеклист с типичными ошибками по части производительности Vue на моб. платформах? Не соображу какой запрос в гугл даже задать.

Anton
29.03.2018
19:12:13
Я его видел, только не понимаю как им пользоваться. Есть где-то внятный мануал на русском?

Anton
29.03.2018
19:13:23
А чеклист типичных ошибок в Vue имеется?

Google
Stanislav
29.03.2018
19:14:09
А чеклист типичных ошибок в Vue имеется?
Не имеется. Vue, скорее всего, вообще не причем. Может ты там запросы синхронно шлёшь

Anton
29.03.2018
19:14:25
У меня подозрение, что Vue плохо дружит с многоуровневыми массивами. Так ли это?

Stanislav
29.03.2018
19:14:48
Вангую, какой-нибудь длинный список рендеришь

Anton
29.03.2018
19:16:42
Нет, там элементов в первом уровне измеряется десятками. Но у каждого элемента-заказа есть свойства заказа, товары в заказе, у каждого товара свойства и т. д.

Arsen
29.03.2018
19:16:50
И key не указываешь

Anton
29.03.2018
19:17:07
Arsen
29.03.2018
19:17:14
Ок

Anton
29.03.2018
19:18:39
причем тут вью до массивов
При том, что он отслеживает изменения в этом массиве

Egor Z
29.03.2018
19:18:57
значит ты делаешь что-то не то

Stanislav
29.03.2018
19:19:04
Anton
29.03.2018
19:19:12
Vladislav
29.03.2018
19:20:08
ребят, кто-то с handsontable работал?

При ререндере таблице слетают хуки, а просто при динамической смене пропсов - не меняется ширина

ширина при этом ставится в настройки таблицы, а потом убирается перед сменой

silks
29.03.2018
19:21:04
Приветствую! подскажите пожалуйста, как мне из дочернего компонента, следить, за родительскими элементами? ...или еще, как мне из родителя вызвать дочерний метод, для изменения дочернего свойства? Я запихнул всю логику работы "нового элемента" для todo в компонент, и если нет элементов в списке то он нам в плейсхолдере пишет "А", а если список не пуст "B". Сначало все вроде бы хорошо и правильно, при добавлении элементов. Но когда мы удаляем элементы(логика родительского компонента), то компонент дочерний, отвечающий за добавление элемента — не обновляет значения плейсхолдера. ...не знаю как это сделать правильно.

Vladislav
29.03.2018
19:21:05
ручной ререндер показывает писюн

Google
Vladislav
29.03.2018
19:22:28
опять же, вероятнее всего ты можешь обойтись пропсами

silks
29.03.2018
19:23:17
Vladislav
29.03.2018
19:23:25
Набор антипаттернов просто)
"вероятнее всего - тебе это не нужно"

Egor Z
29.03.2018
19:23:37
Набор антипаттернов просто)
что не так, то вотчем за пропсами?

Anton
29.03.2018
19:24:39
Набор антипаттернов просто)
Вот, а есть где ознакомиться со всем списком антипаттернов?)

Vladislav
29.03.2018
19:25:01
что не так, то вотчем за пропсами?
ходят слухи, что вотчеры, рефы и шины это ненужные излишки я придерживаюсь, что если это есть в фрейме и можно красиво это обыграть - то в бой

Egor Z
29.03.2018
19:25:17
смешались в кучу кони люди

Vladislav
29.03.2018
19:25:25
прочитал с такой интонацией :D где мой монокль

Egor Z
29.03.2018
19:25:51
рефс ужобный оферхед, но он не реактивный

Anton
29.03.2018
19:25:51
В этом чатике)
Да тут засрано мама не горюй)) фиг че найдешь

silks
29.03.2018
19:44:18
1) Можешь следить за пропсами с помощью watch, но вероятнее всего тебе это не нужно. 2) Из родителя можно вызвать через $refs или через event bus, загуглишь
И о чудо! Никаких пятен!!!1 ранее я писал так, и не работало: watch: { todo: function() { console.log("ТАЙД ИЛИ КИПЯЧЕНИЕ") } Но если написать вот так, то работает: watch: { 'todo.items.length': function(newVal, oldVal) { // watch it console.log('ТАЙД: ', newVal, ' | ПРОСТО ПАРАШОК: ', oldVal) } Спасибо!

Vladislav
29.03.2018
19:44:56
ох бля

Google
silks
29.03.2018
19:46:46
заюзай event bus
сейчас погуглю. спасибо.

тебя ничего не смущает?
я очень обрадовался, что работает, наконец. извиняюсь, если вам показалось это не уместным.

Egor Z
29.03.2018
19:48:10
а без lenth не работает?

и зачем тебе следить за items

silks
29.03.2018
19:50:25
Vladislav
29.03.2018
19:51:32
рабоатет.
давай есть слона по частям. У тебя есть компонент, который пропсами перекидывает данные (условно - todo.items) Дочерний должен следить за ними и выдавать результат в зависимости от длинны todo.items Верно?

Andy
29.03.2018
19:55:16
сейчас погуглю. спасибо.
в родителе ставь watch на items watch: { 'todo.items': function(newVal,oldVal) { this.$bus.$emit('something', {'v1': newVal, 'v2': oldVal}); } }, в этом watch'e вызывай bus с параметрами. в дочернем компоненте вызывай created () { this.$bus.$on('something', ($event) => { console.log($event); }); },

Andy
29.03.2018
19:56:33
и в app.js const EventBus = new Vue(); Object.defineProperties(Vue.prototype, { $bus: { get: function () { return EventBus } } });

Vladislav
29.03.2018
20:00:24
да. именно так.
И так, в дочернем компоненте у тебя есть пропс items Пропсы у нас реактивные - тобишь сами следят за изменением. Ты можешь сделать вычесляемые свойста, которые будут так же реактивны и так же менятся в зависимости от изменения передаваемого пропса. Тоесть ты можешь передать items и сделать computed, который будет возвращать значение в зависимости от длины items

Vladislav
29.03.2018
20:07:41
Испробовал. работает. самый простой вариант. Изначально, пробовал его, но отвлекся на изучение $emit(...). Спасибо. я пожалуй так и оставлю.
я по-этому и сказал, что тебе не нужны в данном случае вотчеры, рефы и другая лабутень keep it low

Vladislav
29.03.2018
20:12:07
лол
шо не так

Andy
29.03.2018
20:12:41
Вам тоже спасибо. этот вариант работает. я думаю знание этого мне пригодится. но для моих целей пока через чур сложен.
сори, я не разобрался в вопросе, да, можно попроще сделать. а вот в случае, если, к примеру, есть список todo и у каждого айтема есть кнопка удаления с всплывающим окном подтверждения «вы уверны?», то event bus топ способ из модалки передать параметр в список) но вообще очень много всего в разные направления можно прокидывать

Roman
29.03.2018
20:12:53
шо не так
прочел как на версусе прост. раунд ?

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