Sencha Touch: Как прочитать определенную запись из магазина? - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть приложение, которое имеет 3 уровня глубины данных:

  • список презентаций
  • подробности презентации
  • слайды презентаций

Прямо сейчас, когда пользователь пришел в приложение, он получил список, загруженный из магазина JSONP.Он нажимает на один элемент, и функция обратного вызова получает запись.Это выдвигает это в новое представление - деталь и показывает это.Оттуда пользователь может раскрывать слайды презентации - запись данных снова передается из подробностей.

Проблема в том, что пользователь обновляет страницу или пришел с URL.Если он пришел к URL-адресу, как / Presentations / Slides / 1, он хочет увидеть слайды для идентификатора презентации: 1.Проблема в том, что, пока его не было в списке, данные не были загружены, а поскольку они не были загружены, они не передавались в детали, а детали не передавались в представление слайдов.Так что у меня нет данных.

Но у меня все еще есть удостоверение личности!Исходя из PHP Zend Framework, я бы назвал что-то вроде: this.store.find(1), но я не могу найти способ сделать это.

Как мне загрузить что-то из магазина, основываясь на record.data.id?

Чтобы добавить больше, store.load() работает асинхронно, поэтому, когда я это сделаю:

store.load();
store.each(function(rec){console.log(rec);});

Это не будет работать с хранилищем JSONP, потому что данные еще не загружены.Но когда я использую Chrome Debuger и приостанавливаю выполнение, чтобы позволить загрузке данных, это работает :(

1 Ответ

0 голосов
/ 06 декабря 2011

Вы правы, загрузка асинхронна, поэтому все, что вам нужно сделать, это использовать функцию обратного вызова хранилища.Вы можете найти пример здесь Как получить данные из магазина extjs 4

...