Связать меню с плавающим окном
Всем привет!
Хочется связать bind_ом статус элемента меню disabled с наличием/отсутствием плавающего окна. Условно говоря, пока окно существует - disabled: true, как отсутствует - disabled: false. Подскажите как это выглядит в современных технологиях и где про это почитать (ну кроме мануала, где я про viewModel почитал, но понял не сильно много... :-) |
Цитата:
|
А если окно сделать модальным? Тогда и байнд не нужен, и так все задизейблится.
|
Не хочется вообще ничего модального...
Как-то оно моей молодостью и MS DOS_ом попахивает... :-) |
Blogercs:
Биндом вот таким: bind: { disabled: '{somethingVerySpecial}'} Пример кода чего? Меню? Вот: http://docs.sencha.com/extjs/6.2.1/c....html#cfg-menu Пример кода окна: http://docs.sencha.com/extjs/6.2.1/c...ow.Window.html |
Читаем вот тут:
https://docs.sencha.com/extjs/6.2.1/...a_binding.html под заголовком Binding and Component State: When a component is assigned a reference to identify it, that component will publish some of its key properties in the ViewModel. Вроде все понятно, только пара вопросов: 1. А floating компоненты публикуют свои свойства? 2. А что произойдет, когда мы сошлемся на свойство плавающего компонента, которого (пока или уже) нет? Могу спросить иначе: как я должен обновлять данные ViewModel при создании и удалении плавающих компонентов? |
Они то публикуют, вот только делают это в свою вьюмодель. Что произойдет? Ну тут ответ сложный, от "ничего" до "ничего хорошего". Если вас модальное окно смущает то тогда перед его открытием отключайте меню своим кодом, после закрытия же назад включайте. Связывание тут не шибко хорошая идея.
|
Цитата:
Цитата:
Спасибо за пояснения! |
Изобразите пример в фидле. Так сложно рассуждать, без кода под рукой.
|
Концептуально был неправ. Разобрался. Сделал одну ViewModel на все приложение. В частности, Bind_ом гораздо удобнее отключать и включать меню, чем своим кодом, как мне показалось.
|
Часовой пояс GMT +3, время: 06:46. |