|
Как переделать показ интерактивного действия с коллбэком на промис? |
☑ |
0
Fragster
гуру
19.03.17
✎
09:57
|
Делаю изменение состояния контрола с подтверждением, вот так все работает но хочется упростить код, переделав его на промис, чтобы не плодить функции и весь код вызывающий диалог и обрабатывающий результат, был линейным и находился в одной функции. Подскажите, как :)
|
|
1
Asmody
19.03.17
✎
13:17
|
(0) ты хочешь промис вместо if использовать?
|
|
2
Fragster
гуру
19.03.17
✎
13:23
|
вместо передачи коллбэка в confirmInstance.show сделать так, чтобы он вернул промис, который зарезолвится, когда юзер ткнет в диалог
|
|
3
Asmody
20.03.17
✎
01:47
|
Вот как-то так у меня получилось https://jsfiddle.net/9L48knjk/22/
|
|
4
Fragster
гуру
20.03.17
✎
10:02
|
(3) ну, ты на промисы переделал "взаимодействие с бэкэндом" из сеттаймаутов. Это понятно как сделать.
А вот показ диалога подтверждения как переделать? У тебя работа с ними еще больше функций стала занимать...
|
|
5
Fragster
гуру
20.03.17
✎
10:04
|
А еще ты жестко прибил подтверждение к удалению телефона. А я хочу этот диалог юзать в более разнообразных случаях
|
|
6
Fragster
гуру
20.03.17
✎
11:54
|
апну
|
|
7
Fragster
гуру
20.03.17
✎
12:03
|
(5) или ты предлагаешь как субкомпонент диалог юзать, и вставлять его в каждый компонент? я планировал снизить размер DOM дерева, потому как хотел все приложение на одну страницу запихать
|
|
8
Asmody
20.03.17
✎
12:29
|
(7) Да. Оно не будет в DOM вставляться, там v-if стоит. При v-if=false, компонент в DOM не вставляется.
|
|
9
Asmody
20.03.17
✎
12:36
|
А интерактив, ИМХО, надо на событиях делать. Они для того и придуманы.
|
|
10
Fragster
гуру
20.03.17
✎
13:50
|
(8) а после - удаляется?
|
|
11
Fragster
гуру
20.03.17
✎
13:52
|
(9) опять возвращаемся к Новый ОписаниеОповещения?
|
|
12
Fragster
гуру
20.03.17
✎
14:11
|
еще вопрос, не будет ли эта вставка в DOM тормозить на телефонах. собственно, бутстрап заюзал из-за того, что он работает на любом размере экрана почти без допила.
|
|
13
Fragster
гуру
20.03.17
✎
14:14
|
так, конечно, есть вопросы с тем, что он некоторые вещи, например, удаляет из DOM, и получается рассинхронизация DOM и VUE, из-за чего некоторые вещи неправильно работают. Например alert.close с прилепленным эффектом, порождает событие closed.bs.alert по окончанию анимации, но и удаляет из DOM содержимое. и когда удаляешь из данных оповещений VUE оповещение, происходит глюк
|
|
14
Asmody
20.03.17
✎
14:38
|
Есть v-show. Оно, в отличие от v-if, DOM не дергает, а меняет css.
|
|
15
Asmody
20.03.17
✎
14:38
|
(11) Ну, на javascript это все немного элегантнее получается.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший