
Stas
29.04.2018
16:54:52
и эти дёрганья раздражают

Andrey
29.04.2018
16:58:00
Еще вопрос появился) Смотрите, когда я обновляю имя, по логике правильно будет отправить на запись в бд и при положительном ответе поменять имя. Но такая конструкция замедляет и немного сбивает процесс отображения. Есть другой вариант, менять надпись, отправлять в бд и потом обновлять данные. И есть 3й вариант, просто поменять надпись и отправить в бд, а потом уже отталкиваться от ошибок. Самый правильный мне кажется 1й, 2й более оптимальный в отображении и записи, а 3й работает лучше всего, но странный. Проконсультируйте плз.
это все относится к UX
у некоторые сделано именно как 3 вариант
статья где-то была лаже на vc.ru про это
я использовал 2 вариант если у меня долгая операция допустим
но все зависит от задачи
обычно 1 вариант, обновлю в случаи успешного запроса
3 вариант это 2 только так нужно делать всегда если пытаешься 2 вариант использовать, тогда уже делай 3


Stas
29.04.2018
16:59:25
Я бы хотел использовать 1й, но из за скорости приходится ставить 2й. А из за дёрганий хочу 3й)))

Andrey
29.04.2018
17:00:31
не ты не хоти, используй по назначению, по задаче

Google

Andrey
29.04.2018
17:00:34
с умом вообщем
если у теб операция дорогая по времени, то тут уже нужно не мудрить на клиенте, а подключать сокеты, push уведомления

Stas
29.04.2018
17:01:14
Понял, спасибо. Я думал 3й вариант вообще не очень, а оказывается и такой юзают.
да не, там несчастные 0.03 сек, но когда дёргается или я вижу не закрытый текс эреа с пустым энтером, этих 0.03 сек достаточно

Sergey
29.04.2018
17:02:44
А анимации при сохранении? Юзера развлекать надо

Stas
29.04.2018
17:03:20
потом еще эта анимация будет дёргаться ?
представь анимацию в 0.03 сек)
на сайт эпилептикам нельзя будет заходить

Sergey
29.04.2018
17:03:51
Ну это пока 003

Stas
29.04.2018
17:04:15
ну максимум у меня доходило до 0.1

Sergey
29.04.2018
17:04:15
Вообще смотреть надо

Stas
29.04.2018
17:04:45
я хочу быстрый отклик, а не развлекухи)

Sergey
29.04.2018
17:04:53
А ты после обновления заново запрашиваешь данные? Ну, те же самые

Google

Andrey
29.04.2018
17:04:54
не за то вы переживаете сначала ( я за время вашего запроса )

Sergey
29.04.2018
17:05:05
Или я не так всё понял

Stas
29.04.2018
17:05:29

Andrey
29.04.2018
17:06:10
есть просто очень других причин из-за которых переживать за тайминг запроса это так себе

Sergey
29.04.2018
17:06:30
Да он дуется на мене :D

Stas
29.04.2018
17:06:33
ааа
Я же не за тайминг, а за то что появление и пропадание элемента раздражает, такого не должно быть)

Sergey
29.04.2018
17:07:57
Ну с анимацией ок, отпадает

Stas
29.04.2018
17:08:12
А при обновлении элемента после записи, это будет в любом случае

Sergey
29.04.2018
17:08:25
Какита так

Stas
29.04.2018
17:08:35
хотя можно конечно не элемент обновлять, а только часть
сейчас попробую

Sergey
29.04.2018
17:08:38
Это почему так?

Stas
29.04.2018
17:09:08
что почему?

Sergey
29.04.2018
17:09:28
В смысле кто вынуждает заново его загружать если клиент знает новое значение и операция сохранения без ошибок?
Зачем лишний запрос?

Stas
29.04.2018
17:10:11
Для этого я и обновляю до сохранения в бд.

Andrey
29.04.2018
17:11:03

Sergey
29.04.2018
17:11:31
Ну сохранил, обновил в клиентской коллекции что надо и никуда не пошёл. У тебя же всё есть на клиенте

Google

Stas
29.04.2018
17:11:55
сек, я попробую кое что, до меня опять во время разговора дошло

Sergey
29.04.2018
17:12:31
Не надо ничего перегружать
У тебя уже актуальные данные есть
Ну там где ты забираешь новое значение и передаешь его потом

Stas
29.04.2018
17:13:59
Не, я имел ввиду если пользователь перезагрузит, а эти данные нигде не сохранены

Sergey
29.04.2018
17:14:18
Мы чето о разном говорим))

Stas
29.04.2018
17:14:43
распиши всю ситуацию
Всё, дошло, в данном случае есть возможность обновлять не весь элемент, а его часть. Тогда не дёргается.
я просто вырезал элемент и вставлял новый
из за этого дёргалось
Мы чето о разном говорим))
Наверное) Любые изменения в любых данных нужно же куда-то сохранять. Но нужно постараться делать безболезненно. Вот как натолкнули меня на идею не элемент менять а только часть его.
То есть запрос на сохранение мне в любом случае нужно отправлять, а вот стоит ли обновлять и как это уже другое дело)


Sergey
29.04.2018
17:30:50
Не, понятно что сохранять надо. Но то что сохранённый объект из базы после этого опять загружать, чтобы получить эти изменения там откуда мы только что вызвали редактирование это не полностью хорошо и я уверен ты так не делаешь просто я всё как обычно превратно понял.
А по поводу того когда юзеру показать изменения, ну он как-то должен узнать что данные сохранились или нет. Я бы ещё подумал в сторону что делать если нет, как сообщить, откатить значение

Stas
29.04.2018
17:38:15
В идеале конечно было бы при ошибке сообщить, а при положительном результате ничего не сообщать, но тогда возможно будет задержка и будет заметно. Нужно в общем попробовать разные варианты что бы понять как лучше.

Sergey
29.04.2018
17:42:42
Ну а если обновлять на клиентской стороне сразу а после сохранения уведомление выдавать? Есть же toast готовые. А если ошибка, то откатывать значение и опять уведомление.
Предполагаем что ошибки будут реже успешных операций

Stas
29.04.2018
17:45:23
выдавать уведомление после сохранения не вижу смысла
я делаю трелло, представь после каждого создания/изменение выводить сообщение

Sergey
29.04.2018
17:50:05
Ну тогда до успеха не показывай обновление

Google

Sergey
29.04.2018
17:50:23
Хотя не

Andrey
29.04.2018
18:28:25

Stas
29.04.2018
18:29:53
Кстати, вот возник еще вопрос. Каким образом можно отменить нг-шоу через контроллер? То есть я могу закрыть через vm.example, а через example соответственно не могу. Но из за нг репита этот vm.example открывает/закрывает все элементы.
vm это this
разве что переходить на ng-class и добавлять каждому уникальное значение, тогда можно будет дотянуться до нужного элемента

Sergey
29.04.2018
18:53:14
Ты очень непонятно рассказываешь))
Если тебе надо управлять видимостью каждого элемента, то ты можешь или в нем самом булевое поле хранить с состоянием или внешний справочник ид - видимость и потом по нему определять

Stas
29.04.2018
19:05:10
Постарался доступнее описать)

Sergey
29.04.2018
19:06:08
Не, это у тебя переменная в скоупе репита

Stas
29.04.2018
19:06:43
ага

Sergey
29.04.2018
19:06:46
Элементы репита каждый в своём как бы неймспейсе, домене живёт
Значит тебе в контроллере надо или мапу элементов создавать
Либо в самой модели в элементе хранить состояние
Чтобы в контроллере списка иметь доступ
И то и другое будет работать быстро, по крайней мере проверка

Stas
29.04.2018
19:09:48

Sergey
29.04.2018
19:10:00
Ну по которому репит бежит

Stas
29.04.2018
19:10:23
аа

Google

Sergey
29.04.2018
19:10:50
В модели проще хранить

Stas
29.04.2018
19:10:56
ну мне конечно сейчас удобнее в элементе хранить состояние
точнее я сказал бы проще

Sergey
29.04.2018
19:11:27
Так и храни)

Stas
29.04.2018
19:11:57
Я просто думал немного переделать для красоты, что бы определённые вещи закрывались после удачного сохранения в бд
ну да ладно, что-то придумаю
спасибо
Ребят, подкиньте идею. Как вы считаете разные открывающиеся менюшки в моб версии привязывать к экрану или к остальному контенту?
уточню, что это не меню всей страницы, а просто какие-то дроп менюшки для каких-то действий
всем привет*)

Andrey
30.04.2018
05:37:46
лучше к экрану в мобильной версии

Stas
30.04.2018
05:39:07
ребят, а тач и клик одинаково обрабатываются?
То есть если пользователь в моб версии начнёт прокручивать, а клик должен закрыть окно. Оно закроется?

Oleg
30.04.2018
09:48:37
Так-то это отдельные события. Но не проверял)
Хотя наверное будет обрабатываться как одно, должен додуматься. Даже жиквери по-моему умел понимать что надо обратить его как клик

Stas
30.04.2018
09:56:16
тогда еще вопрос, в хроме когда смотришь мобильную версию всё работает как будет в смартфоне? или не факт?)

Bohdan
30.04.2018
09:58:00

Oleg
30.04.2018
09:58:49
Эмуляция всегда имеет погрешность) я бы не рассчитывал на 100%

Stas
30.04.2018
10:01:54
Я уточню, я имею ввиду именно события, а не внешний вид.
или это ответы были про события?

Remite
30.04.2018
10:29:47
онтач пораждает онклик - все хорошо
в современных браузерах нет смысла хендлить отдельно он клик и он тач