Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2016, 10:38
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Байндинг работает асинхронно?
Здравствуйте.

Столкнулся с таким фактом: если я меняю некое свойство вьюшки через вьюмодель и байндинг, то изменения не видны в той же функции. Вот, набросал фидл: https://fiddle.sencha.com/#fiddle/1gkc

Общая задача: через модель меняем тайтл и тут же его читаем. Если это делается по кнопке Sync то я получаю старый тайтл. Async работает правильно, но только если defer 5 и выше. Меньшие значения работают как Sync (интересно почему?).

Пример примитивный и надуманный. В реальном проекте я через байндинг меняю свойство allowBlank у некоторых инпутов на форме. Дело в том что форму можно сохранить в режиме черновика и тогда не все инпуты обязательны к заполнению. Вот решеил вьюмодель заюзать.

Ну а теперь не знаю как правильнее. Вьюмодель + defer, или выбирать нужные инпуты и менять allowBlank каждому по отдельности? Первый вариант привлекательнее.

Неужели байндинг действительно асинхронный?
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2016, 22:58
Аспирант
Отправить личное сообщение для Moloch Посмотреть профиль Найти все сообщения от Moloch
 
Регистрация: 29.10.2013
Сообщений: 94

а почему не получать значения сразу из вью модели?
alert(this.getViewModel().get('title'));
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2016, 10:24
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Потому что вопрос не об этом. Меня интересует как работает механизм связывания на низком уровне, и пример этот просто предельно примитивный образец. В реальной жизни, у меня есть кусок кода который меняет НЕЧТО во вьюмодели и тут же запускает некий функционал в стандартных компонентах. Оный функционал зависит от того что я поменял и я ожидаю результат согласно заданным данным. А этого не происходит. Вот defer c заметной задержкой помогает, да. Но мне это кажется не очень хорошим решением, да и вообще интересно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML для TR в InternetExplorer не работает? Непонятливый Элементы интерфейса 3 15.10.2012 17:14
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41