@vuejs_ru

Страница 3010 из 3900
Константин
03.06.2018
07:47:32
т

Alex
03.06.2018
08:06:09
т
сообщения можно редактировать и даже удалять

Denis
03.06.2018
08:09:52
Ребята, как вдруг взять и начать писать тесты на аью

Раньше тесты не писал

Google
Alex
03.06.2018
08:11:05
Просто начинать и пробовать

Поставьте тест утилс и простые тесты начните делать

Ldar
03.06.2018
08:18:36
Подскажите со структурой. Новичок. Есть самописный компонент Таблица и store. Есть возможность редактировать таблицу. Данные таблицы заполняются из store. У примеру мне нужно отредактировать один ряд, нажимаю редактировать, вывожу за место статики, поля ввода. Эти поля ввода к каким данным приявзяывать? 1. К store и менять сразу там или 2. Создавть доп данные внутри компонента под данные формы и при нажатии "Сохранить" данные перекидывать в store. Тут есть плюс, к примеру не захотел изменять, завкрыл форму и данные остались прежними.

Женя
03.06.2018
08:27:05
можешь создать вычисляемое свойство с данными таблицы и навесить на него гет/сет. в сет будешь вызывать мутацию и обновлять стор. ну это без кнопки "сохранить"



Ldar
03.06.2018
08:29:50
Ну да, это из моего певого варанта. А если с кнопкой сохранить?

Женя
03.06.2018
08:32:03
ты все правильно написал

Ldar
03.06.2018
08:33:12
Спасибо

Listar
03.06.2018
08:47:42
:click="this.sorting = '111'" Почему он сразу выполняет этот скрипт, а не по клику ?(

Listar
03.06.2018
08:51:21
Denys
03.06.2018
08:54:02
() => this.sorting = '111'

Alex
03.06.2018
08:59:08
:click="this.sorting = '111'" Почему он сразу выполняет этот скрипт, а не по клику ?(
Потому что биндите значение выражения. Чтобы узнать значение выражения, надо его выполнить

Google
Vladimir
03.06.2018
08:59:58
nope
События обрабатываются через v-on (@) а не v-bind (:)

rafamont
03.06.2018
09:02:43
Всем привет, никому не нужен помошник верстальщик? А то работы сейчас нет и незнаю чем заняться.

Alexey
03.06.2018
09:19:53
Всем привет! Мой вопрос вчера вечером. И найденное решение

Nuxt. Вопрос как лучше принимать редирект на роут где не должно быть страницы. Задача. Из бекенда пришел редирект на страницу nuxt типа http://127.0.0.1:3000/social_login?token=token после авторизации через социалку. Нужно установить токен и перекинуть юзера в профиль. Пробую в middleware if (process.server && route.name == "social_login") { console.log("check-auth social login") return } Понятное дело тк роут не прописан выдает 404. А как бы его прописать в router что бы не указывать компонент страницы, ибо он не нужен... Как вариант можно кидать на существующую страницу типа http://127.0.0.1:3000/profle/?act=social_login&token=token далее в серверном middleware проверять act и если он social_login ставить token и редиректить... Или даже в mounted() страницы /profile все это делать.. Но оптимально ли это?



Код в middware check-auth. А в роутах данный путь вообще оказалось можно не прописывать. А обращаться как route.path == "/social_login". Но не route.name ибо name нет тк в роутах не прописано...

Теперь такой вопрос. А не лучше ли все это в beforeRouteEnter чем в мидваре, в чем вообще отличия... Казалось бы и то и другое связано с роутером и выполняется до посещения роута...

Sergey
03.06.2018
09:40:40
Ребят, помогите разобраться. У меня есть массив объектов. Выводится список этих объектов. По клику на объект мне надо менять свойство этого объекта open на true. Прямая замена не сработает, потому что Vue не отслеживает изменения в массиве. Вот такая имею ввиду: this.items[index].open = true. Понимаю, что надо использовать Vue.set ... Но не могу догнать как поменять именно свойство.

вот из доков смотрю: http://dl4.joxi.net/drive/2018/06/03/0008/3041/547809/09/3cec810b8d.jpg

Hedint
03.06.2018
09:43:12
Тебе не кажется, что это разные действия?)

Sergey
03.06.2018
09:43:36
http://dl3.joxi.net/drive/2018/06/03/0008/3041/547809/09/c6339df11c.jpg

Hedint
03.06.2018
09:43:44
Там меняют объект в массиве целиком, а ты меняешь поле у объекта

Sergey
03.06.2018
09:44:25
Там меняют объект в массиве целиком, а ты меняешь поле у объекта
ну да... я понимаю что там делают.. но не понимаю как поменять именно поле у объекта

Hedint
03.06.2018
09:45:20
А ты пробовал так, как изначально написал? This.items[].open ...

Sergey
03.06.2018
09:46:01
да...

вот такой метод у меня

http://dl3.joxi.net/drive/2018/06/03/0008/3041/547809/09/854e1dbf4b.jpg

в консоль выводится как надо. по очереди true/false. туглится )

Google
Sergey
03.06.2018
09:47:30
НО не рендерится

Hedint
03.06.2018
09:53:16
а почему напрямую item не поменяешь?)

Sergey
03.06.2018
09:56:48
где-то я жеско туплю

проверил специально вот\

https://codepen.io/lostdok/pen/ERPawy

все работает, все реактивно, меняется

Hedint
03.06.2018
09:57:16
https://codesandbox.io/s/6j0z161yk

Sergey
03.06.2018
09:57:19
то есть при смене свойства объекта в массиве Vue все понимает и обновляет

Hedint
03.06.2018
09:57:19
посмотри тут

у меня работает как угодно) хочешь напрямую меняешь объект, хочешь ищешь в массиве и меняешь (хотя это по сути один и тот же объект)

всё это реактивно

Andy
03.06.2018
09:58:14
Sergey а вот если передашь этот массив в пропсе ребенку, он не поймет что родитель что-то там внутри массива подменил правильно? ну у меня вроде так бывало

Женя
03.06.2018
10:00:42
Ребят, никто не вкурсе, какие есть методики для реализации анимации плавного разворачивания блока на весь экран , который был в потоке верски?

Alexey
03.06.2018
10:01:43
Ребят, никто не вкурсе, какие есть методики для реализации анимации плавного разворачивания блока на весь экран , который был в потоке верски?
мне кажется нужен какой то плагин типа получает два файла картинки большой и мелкий и разворачивает при клике. Когда кодил на jquery таких полно было...

Grigorii
03.06.2018
10:01:54
transition + изменение позиционирования

Если максимально просто

Alexey
03.06.2018
10:03:24
https://github.com/bliblidotcom/vue-h-zoom не то?

Женя
03.06.2018
10:03:27


ну вот в этом примере оригинальная картинка осталась снизу.

не, не то

Google
Женя
03.06.2018
10:04:46
transition + изменение позиционирования
а окружающие блоки не будут менять свою поцизию при этом? Я имею в виду максимально общий случай, когда там не картинка, а какой-то блок

Hedint
03.06.2018
10:05:38
то, что здесь - это вообще lightbox)

или что-то вроде него

Grigorii
03.06.2018
10:05:55
а окружающие блоки не будут менять свою поцизию при этом? Я имею в виду максимально общий случай, когда там не картинка, а какой-то блок
Можно пихать два элемента друг на друга и только один увеличивать. Но вообще, либы для этого точно есть

Admin
ERROR: S client not available

Vlad
03.06.2018
11:17:06
спс. ну вот мне интересно, какие подходы есть, вообще
просто картинку развернуть или подтянуть с сервера оригинал и развернуть?

Женя
03.06.2018
11:28:05
красиво с анимацией развернуть какой угодно блок

Denis
03.06.2018
11:43:36
столкнулся с следующей штукой есть событие @change, на нем хендлер в котором берутся данные из локального state при срабатывании @change, сначала хендлится метод handleChange, а только потом обновляются данные в state (например компонент dateselect) и если мы используем эти данные в хендлере, они не обновленные у вью есть решение этой проблемы?

Denis
03.06.2018
11:55:37
3 раза прочёл и так и не понял, что ты хочешь Кинь кусок кода для примера
я уже переписал кейс другим способом если подробнее то если взять например компонент datepicker, то v-model обновляет данные в стейте ПОСЛЕ срабатывания @change события таким образом внутри метода повешенного на @change если обращаться к this.startDate находятся данные предыщего стейта, а не обновленного после выбора даты

Denis
03.06.2018
12:01:43
Никто тебе гарантировать не будет, что @input будет всегда раньше @change
вот мне и интересно есть ли способ обхода этого

Roman
03.06.2018
12:01:56
Да и вообще это тупо делать v-model, если используешь change/input. В сам обработчике сделай обновление и все

Denis
03.06.2018
12:03:34
Да и вообще это тупо делать v-model, если используешь change/input. В сам обработчике сделай обновление и все
есть случаи, когда это желательно сделать в моем случае у меня два поля выбора дат – начало и конец периода и отсылаются обе даты одновремено, поэтому я хотел сделать один обработчик сразу для двух дат которые при измении любой даты срабатывает для двух

чтобы не плодить излишние обработчики для каждого поля

но в итоге я просто добавил кнопку которая отсылает данные, чтобы не следить за изменением инпутов

Roman
03.06.2018
12:05:01
чтобы не плодить излишние обработчики для каждого поля
И? В payload события @change кидаешь обе даты, в обработчике присваиваешь куда надо обе даты

Google
Roman
03.06.2018
12:05:32
Или это ты за реализацию внутри пикера самого говоришь?

Denis
03.06.2018
12:05:39
там просто два пикера разных, каждый для своей даты

Roman
03.06.2018
12:07:04
так взять эти две даты одновременно можно только из state
Из state твоего компонента с пикерами, что не так-то?

Denis
03.06.2018
12:10:19
Из state твоего компонента с пикерами, что не так-то?
обработчик раньше срабатывает обнолвения стейта

Roman
03.06.2018
12:11:43
Или кидай пример кода, потому что мы ходим по кругу

Да и вообще это тупо делать v-model, если используешь change/input. В сам обработчике сделай обновление и все

Сергей
03.06.2018
13:43:23
Всем привет! совсем недавно начал изучать Vue. может кто подскажет: как ограничить диапозон цикла v-for? например, в массиве имеется 10 объектов, а надо вывести всего 6. заранее спасибо!

Бобомурод
03.06.2018
13:51:56
всем привет

как лучше всего скрыть/показать окно login?

v-if ?

Flamer
03.06.2018
13:58:15
как лучше всего скрыть/показать окно login?
https://ru.vuejs.org/v2/guide/conditional.html#v-if-%D0%B2-%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8-%D1%81-v-show

Бобомурод
03.06.2018
13:58:26
thnx

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