Имя: Пароль:
IT
Веб-мастеринг
Как переделать показ интерактивного действия с коллбэком на промис?
,
0 Fragster
 
гуру
19.03.17
09:57
Делаю изменение состояния контрола с подтверждением, вот так все работает https://jsfiddle.net/3p0zrvvf/8/ но хочется упростить код, переделав его на промис, чтобы не плодить функции и весь код вызывающий диалог и обрабатывающий результат, был линейным и находился в одной функции. Подскажите, как :)
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 это все немного элегантнее получается.