@angular_js

Страница 247 из 325
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
Или я не так всё понял

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
Хотя не

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
Если тебе надо управлять видимостью каждого элемента, то ты можешь или в нем самом булевое поле хранить с состоянием или внешний справочник ид - видимость и потом по нему определять
Видимо сам не особо понимаю, раз не могу нормально донести, ну или ты не понимаешь) Ну вот у элемента есть нг-шоу/хайд, это и есть по сути булевое поле (показать/отключить). У каждого элемента в нг-репите у него одно и тоже имя. Когда я его изменяю внутри элемента при клике, всё работает. Достучаться из контроллера до него я не могу. Но могу достучаться если его сделать как бы глобальным для данного контроллера, добавив vm. Но тогда в каждом элементе нг репита будет vm.example и из за изменений в контроллере оно будет меняться не у нужного элемента а у всех.

Постарался доступнее описать)

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
тогда еще вопрос, в хроме когда смотришь мобильную версию всё работает как будет в смартфоне? или не факт?)

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

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

или это ответы были про события?

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

Страница 247 из 325