Sencha touch: лучший способ установить значения для элементов каждый раз, когда отображается представление?

В моем приложении sencha touch 2.3 у меня есть страница с несколькими переключаемыми полями, текстовыми полями и т. д. Я хочу устанавливать значения в этих полях каждый раз, когда отображается страница (каждый раз она может иметь разные наборы значений).

Родительским контейнером этой страницы является панель с карточным макетом. Я показываю разные страницы, используя setActiveItem('pagextype');

Теперь, если я устанавливаю значения во время инициализации, они будут установлены один раз, но при следующем отображении страницы инициализация не будет вызываться. И элементы не будут установлены в новые значения.

Вместо инициализации я использовал нарисованное событие. Это прекрасно работает. Но всякий раз, когда я захожу на страницу, на мгновение отображаются старые значения, а затем обновляются до новых значений.

Каков наилучший способ справиться с этим сценарием?


person senchaDev    schedule 26.08.2014    source источник


Ответы (1)


Вы можете выполнить следующие шаги.

  1. Сохраняйте данные в каком-либо массиве или любом объекте (скажем, OBJ) во время инициализации().
  2. Создайте метод updateData(index), который отвечает за обновление данных в элементе макета карты на основе индекса. Этот метод вызывается из функции события activeItemChange, которая вызывается всякий раз, когда мы пролистываем элемент в карточке.
  3. Теперь по умолчанию отображается элемент с индексом 0 на карточке.
  4. когда мы прокручиваем, вызывается activeItemChange для следующего элемента, вы можете написать свою логику внутри метода updateData() для обновления данных из исходного массива/объекта (OBJ) на основе индекса.
person dReAmEr    schedule 04.09.2014