
Stanislav
05.10.2017
02:01:23
бандл это тоже наркота которая избавляет например от срача с script тегами и делает нормальный контроль версий пакетов и модули но он тут нипричем

Dmitry
05.10.2017
02:01:41
Прост если берешься использовать vue, jquery в тот же функционал мешать не надо

Stanislav
05.10.2017
02:01:51

Dmitry
05.10.2017
02:02:38
О, походу Остапа понесло))

Google

Stanislav
05.10.2017
02:03:17
ну этим снобизмом ты просто отгонишь потенциального адепта вуя куда то еще
потому что реальных причин не юзать жквери юзая вуе просто нет, тем более в описанном случае
миллионы людей именно так и начинали. по кускам переписывая с жквери на вуй

♿️
05.10.2017
02:05:59
Надо помнить, что это всего лишь инструменты, которые должны решать твою проблему.
Иначе ты до ruby программиста скатишься. "наш язык это философия, все остальные языки - говно"

Dmitry
05.10.2017
02:06:48
Какой снобизм? Причина на поверхности. vue работает с виртуальным DOM, а jquery с реальным. Если второй что-то меняет, первый никак об этом не узнает. Отсюда могут возникнуть проблемы

♿️
05.10.2017
02:07:03
jq и не надо знать ничего.
через jq у меня модалка, результаты работы которой будут изменять модель vue
Вот только еще вопрос. Немного со вложенностями не понимаю. Как бы объяснить.

Dmitry
05.10.2017
02:08:00
Речь не о jq а о vue
vue не будет знать что jq наменял

Stanislav
05.10.2017
02:08:39
будет почему не будет
делаешь глобалкой vue instance
меняешь ей что хочешь - меняется интерфейс

Google

♿️
05.10.2017
02:09:49
Как то так форма выглядит

Stanislav
05.10.2017
02:09:58
если дом напямую менять то нет да

♿️
05.10.2017
02:09:58
С первым уровнем понятно
Есть некий v-for, в котором перечислены адреса
Как к каждому адресу в модели привязать получателя?

Stanislav
05.10.2017
02:10:52
модель это обычный жсончик
можешь какиенибудь айдишники заюзать

♿️
05.10.2017
02:11:13
addrs : [
{
id : 1,
name : 'Улица пушкина дом колотушкина',
recievers : [
{
id : 5,
name : 'Васька пупкин'
}
]
}
]

Stanislav
05.10.2017
02:11:20
тупо список обьектов короче

♿️
05.10.2017
02:11:28
Оно?

Stanislav
05.10.2017
02:13:38
ну смотри короче
ты в экшоны редактировать или изменить передаешь текущий адрес по которому итерируешься а внутри экшона уже получаешь из куска модели что хочешь

♿️
05.10.2017
02:13:55
А v-for можно вкладывать в v-for?

Stanislav
05.10.2017
02:14:12
вроде да

♿️
05.10.2017
02:14:58
щас html-ку скидаю, скажи, если что может пойти не так.
Я вот об вложенности и немного застопорился. Не очень понял как с ними работать.

Stanislav
05.10.2017
02:15:14
ну тебе потом надо будет разбить на компоненты и осознать что пропсы у компонентов ридонли...
я почти сплю

♿️
05.10.2017
02:15:49
<div id="app">
<div class="addr" v-for="addr in addrs">
{{addr.name}}
<div class="rec" v-for="rec in addr.recievers">
{{rec.name}}
</div>
</div>
</div>
Нечто такое валидно?

Dmitry
05.10.2017
02:16:17
вполне

Google

Stanislav
05.10.2017
02:16:18
вполне
хех

♿️
05.10.2017
02:16:33
Чтоб я без вас делал :3

Dmitry
05.10.2017
02:16:59
Только еще :key укажи. Туда id засунь

♿️
05.10.2017
02:17:26
А это. Суть в том, что id пока нет. Пользователь ведь добавляет новые адреса. Присвоить некие виртуальные, по счетчику?

Stanislav
05.10.2017
02:17:49
в on click можешь передать addr и rec и все будет по красоте

Dmitry
05.10.2017
02:18:03
Бекенд тебе не возвращает id вновь добавленного адреса?

♿️
05.10.2017
02:18:26
до момента полного сохранения формы, адреса не отправляются в бекенд

Stanislav
05.10.2017
02:18:35
на самом деле id не нужны... всмысле они почти никогда не были нужны но в какой то момент эван решил юзать чтобы не было путаницы

♿️
05.10.2017
02:18:53
Это регистрация, короче. То есть, пока юзер все все все данные не заполнил, нет смысла чото слать в хендлеры

Stanislav
05.10.2017
02:19:31
без айдишников все работает. даже с фейковыми ключами все работает но вроде для успокоения можно передать просто текущий индекс итема в массиве
как раньше и было

Dmitry
05.10.2017
02:20:23
В общем key нужен vue для того чтобы корректнее списки рендерить. key не обязателен, но очень рекомендуется

♿️
05.10.2017
02:20:37
Хм. Еще нюанс.
У меня есть радио кнопки. Один из адресов нужно выбрать как главный. Все это через v-model делается, а у адреса надо завести какой-нибудь data.main (bool) ?

Dmitry
05.10.2017
02:22:34
Вопроса чет я не понял))

Stanislav
05.10.2017
02:23:43
When the array order is changed, by default Vue would change the data in each existing element rather than moving the DOM elements to the updated position.
We can set Vue to track each element using a key. This would cause it to move elements rather than replacing values.

Dmitry
05.10.2017
02:24:34
Да, тут недавно целый гайд с рекомендациями что и как делать выпустили

Stanislav
05.10.2017
02:24:39
почитал стайлгайд думал ох зас много кукаретиков догматиков будут слепо репродюсить всякий неочеидный и высосаный из пальца треш
но нет, вроде сам так пишу и со всем согласен

Google

Stanislav
05.10.2017
02:42:15
эван няшечка

DimenSi
05.10.2017
03:07:41

♿️
05.10.2017
03:09:52
хммм. А это. Есть Jquery плагин kladr api, как его то дружить с vue. В mount повешать саму обертку вроде легко. А как заставить модель реагировать на изменение инпута?

DimenSi
05.10.2017
03:10:14

♿️
05.10.2017
03:11:45
У этого плагина походу нет событий change...

DimenSi
05.10.2017
03:13:00
Я думаю это уже твои проблемы. Тебе достаточно эмитить то, что тебе нужно и можешь конечно настроить model у компонента.
У него нет этого, но это не отменяет, что это обычный импут.
Повесь просто на импут и все
select = function (obj) {} - выбран объект в списке. В параметре передаётся текущий, выбранный объект КЛАДР. Доступно как событие kladr_select поля ввода
Вот же твой onchange
change = function (obj) {} - изменился текущий объект (current). В параметре передаётся текущий объект КЛАДР. Доступно как событие kladr_change поля ввода.

♿️
05.10.2017
03:16:15
В глаза сношаюсь

Nightwelf
05.10.2017
03:48:07
парни, кто работал с socket.io ?
data () {
return {
socket: io('http://' + window.location.hostname + ':' + window.location.port)
}
}
created () {
this.socket.on('a', (response) => {
S.dispatch('a', response)
setTimeout((self) => {
this.socket.emit('a')
}, 3000, this)
}) }
mounted () {
this.socket.emit('a')
}
делаю вот так. очень часто приходит ответ, если открыть несколько браузеров
очень часто - это раз 15 - 20 в секунду
есть кто живой?

Google

Dmitry
05.10.2017
04:06:01
Ну так несколько бразуеров, долбить должно чаще по идее

♿️
05.10.2017
04:26:04
Мдем. В общем плохой подход так миксовать jquery и vue
У меня форма внутри диалога. И в итоге результирующего кода даже больше, чем на чистом jq.
Думаю, для самообучения, лучше какой-нибудь новый проект на mvvm структуре сделать, а не пытаться расширить существующий.
Спасибо вам за ваши ответы =)

DOUBLE WITHDRAWAL
05.10.2017
04:30:23
Мораль такова: не надо миксовать жквери и вью. Кроме случаев, когда надо.

♿️
05.10.2017
04:31:42
Само по себе писать на mvvm приятно. Но, чтобы не сломать ничего jquery, много кода во всяких mount. В итоге выигрыш какой-то сомнительный получился.
А jquery из этого проекта я точно не выкину. Сроки не позволяют.

Dmitry
05.10.2017
04:34:03
Что там за код в mount?

Nightwelf
05.10.2017
04:35:59

♿️
05.10.2017
04:37:00
Навесы kladr api, методы управления открытия/закрытия jqUi диалога.
О кстати. Кто какие диалоги юзает?
Я jqUI диалог, с выкошенными стандартными стилями и поглядываю вот на это: http://craftpip.github.io/jquery-confirm/
Список требований к диалогам: модальность, открытие нескольких диалогов, адаптивные темы, создание своих кнопок с обработкой. Возможность lazyload диалога, чтобы можно было создать обертку модалки вокруг дива и когда надо открывать ее. А не создавать при открытии модалки полностью новую дом структуру

Dmitry
05.10.2017
04:42:51
https://ru.vuejs.org/v2/examples/modal.html
Только вместо v-if используй v-show для модалки

♿️
05.10.2017
04:49:35
В проекте уже jqUI диалог.
А тащить рядом другие плагины на мое субьективное мнение - избыток.

L'Alchimiste
05.10.2017
05:55:15
заменяеш по чутка выпиливая старый хлам
и период избыточности пройдёт

Alex
05.10.2017
06:08:14
Тащим другие плагины на jq и не печалимся) главное обёртку удобную для него написать
Какая разница, когда найдется что-то дельном на замену на ванилле, тогда и обертку только обновить надо будет и всё также работать продолжит