Stanislav
Вангую, какой-нибудь длинный список рендеришь
Антон
Нет, там элементов в первом уровне измеряется десятками. Но у каждого элемента-заказа есть свойства заказа, товары в заказе, у каждого товара свойства и т. д.
Armen
И key не указываешь
Антон
Armen
Ок
Антон
причем тут вью до массивов
При том, что он отслеживает изменения в этом массиве
Egor
значит ты делаешь что-то не то
Vladislav
ребят, кто-то с handsontable работал?
Vladislav
При ререндере таблице слетают хуки, а просто при динамической смене пропсов - не меняется ширина
Vladislav
ширина при этом ставится в настройки таблицы, а потом убирается перед сменой
silks
Приветствую! подскажите пожалуйста, как мне из дочернего компонента, следить, за родительскими элементами? ...или еще, как мне из родителя вызвать дочерний метод, для изменения дочернего свойства? Я запихнул всю логику работы "нового элемента" для todo в компонент, и если нет элементов в списке то он нам в плейсхолдере пишет "А", а если список не пуст "B". Сначало все вроде бы хорошо и правильно, при добавлении элементов. Но когда мы удаляем элементы(логика родительского компонента), то компонент дочерний, отвечающий за добавление элемента — не обновляет значения плейсхолдера. ...не знаю как это сделать правильно.
Vladislav
ручной ререндер показывает писюн
Vladislav
опять же, вероятнее всего ты можешь обойтись пропсами
Vladislav
Набор антипаттернов просто)
"вероятнее всего - тебе это не нужно"
Egor
Набор антипаттернов просто)
что не так, то вотчем за пропсами?
Антон
Набор антипаттернов просто)
Вот, а есть где ознакомиться со всем списком антипаттернов?)
Vladislav
что не так, то вотчем за пропсами?
ходят слухи, что вотчеры, рефы и шины это ненужные излишки я придерживаюсь, что если это есть в фрейме и можно красиво это обыграть - то в бой
Egor
смешались в кучу кони люди
Vladislav
прочитал с такой интонацией :D где мой монокль
Egor
рефс ужобный оферхед, но он не реактивный
Антон
В этом чатике)
Да тут засрано мама не горюй)) фиг че найдешь
silks
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
ох бля
Egor
пиздец
Egor
ебанутся
silks
заюзай event bus
сейчас погуглю. спасибо.
silks
тебя ничего не смущает?
я очень обрадовался, что работает, наконец. извиняюсь, если вам показалось это не уместным.
Egor
а без lenth не работает?
Egor
и зачем тебе следить за items
Vladislav
рабоатет.
давай есть слона по частям. У тебя есть компонент, который пропсами перекидывает данные (условно - todo.items) Дочерний должен следить за ними и выдавать результат в зависимости от длинны todo.items Верно?
Andy
сейчас погуглю. спасибо.
в родителе ставь 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
и в app.js const EventBus = new Vue(); Object.defineProperties(Vue.prototype, { $bus: { get: function () { return EventBus } } });
Vladislav
да. именно так.
И так, в дочернем компоненте у тебя есть пропс items Пропсы у нас реактивные - тобишь сами следят за изменением. Ты можешь сделать вычесляемые свойста, которые будут так же реактивны и так же менятся в зависимости от изменения передаваемого пропса. Тоесть ты можешь передать items и сделать computed, который будет возвращать значение в зависимости от длины items
Vladislav
Испробовал. работает. самый простой вариант. Изначально, пробовал его, но отвлекся на изучение $emit(...). Спасибо. я пожалуй так и оставлю.
я по-этому и сказал, что тебе не нужны в данном случае вотчеры, рефы и другая лабутень keep it low
Vladislav
лол
шо не так
Andy
Вам тоже спасибо. этот вариант работает. я думаю знание этого мне пригодится. но для моих целей пока через чур сложен.
сори, я не разобрался в вопросе, да, можно попроще сделать. а вот в случае, если, к примеру, есть список todo и у каждого айтема есть кнопка удаления с всплывающим окном подтверждения «вы уверны?», то event bus топ способ из модалки передать параметр в список) но вообще очень много всего в разные направления можно прокидывать
ℝei
шо не так
прочел как на версусе прост. раунд 😆
Andy
блин, тупейший вопрос, но подскажите вот что. пример: на SPA есть роутер, по ссылкам идет data с сервера и поставлен кликер / скрипт в сотне вкладок на переключение роутов. как грамотно ограничить кол-во запросов с одного клиента? легкий антидудос)
Ruslan
lodash throttle на функцию которая делает запрос?
Arseny
При загрузке страницы на мнгоновение показываеться блок, хотя v-if = false для этого блока по умолчанию. Как решить эту проблему?
Arseny
ок, спс
Egor
ну, доки имело бы смысл почитать
Arseny
шаблоны у тебя где?
В корневом экземпляре vue. Добавил v-cloak и все норм работает
Андрей
В документации Vue пример однофайлового компонента в таком порядке <template>...</template> <script>/* ... */</script> <style>/* ... */</style> А в рекомендациях такой код с пометкой плохо и типа надо так <script>/* ... */</script> <template>...</template> <style>/* ... */</style>
Андрей
А, ну да там пример плохо то в сравнение 2х компанентов <!-- ComponentA.vue --> <script>/* ... */</script> <template>...</template> <style>/* ... */</style> <!-- ComponentB.vue --> <template>...</template> <script>/* ... */</script> <style>/* ... */</style> Тогда да, извиняюсь
Sunlive
https://github.com/vuejs/vue-rx юзал кто?
Anton
Мужики! Го, я создал! Всем привет. Предлагаю обсудить создание форума нашего сообщества. vue-forum.space уже работает :) Мотивация: 1. Часто задают одни и те же вопросы. 2. Ссылку написанную здесь через пару часов найти не реально. 3. Наличие структурированной информации по проблемам Что бы не было глупых повпросов - нет, это не замена телеграмм каналу. Если тема интерестна, давайте обсуждать и регайтесь на сайте Т.к. я ни разу не специалист во vue, всех ругу приглашаю быть модераторами. Считаей текущий вариант бета версией. Если начнется движуха, работы по форуму продолжу, а нет - удалю.
Sunlive
вью форум не на вью
Sunlive
не дядя
Sunlive
так не пойдет
Anton
так не пойдет
Вам шашечки или ехать? :) Главное ж результат