Анализ ItemFileReadStore

Чтобы поближе познакомиться с механизмом ItemFileReadStore, рассмотрим коллекцию иерархических данных в формате JSON, приведенную в примере 9.1, где каждый элемент определяется идентификатором name. Обратите внимание, что только ключи identifier, label и items присутствуют на самом верхнем уровне в хранилище данных.

Пример 9.1. Пример набора данных с описаниями сортов кофе
{
identifier : "name",
label : "name",
items : [
{name : "Light Cinnamon", description : "Very light brown, dry, tastes like toasted grain with distinct sour tones, baked, bready"},
{name : "Cinnamon", description : "Light brown and dry, still toasted grain with distinct sour acidy tones"},
{name : "New England", description : "Moderate light brown, still sour but not bready, the norm for cheap Eastern U.S. coffee"},
{name : "American or Light", description : "Medium light brown, the traditional norm for the Eastern U.S ."},
{name : "City, or Medium", description : "Medium brown, the norm for most of the Western US, good to taste varietal character of a bean."},
{name : "Full City", description : "Medium dark brown may have some slight oily drops, good for varietal character with a little bittersweet."},
{name : "Light French", description : "Moderate dark brown with oily drops, light surface oil, more bittersweet, caramelly flavor, acidity muted."
},
{name : "French", description : "Dark brown oily, shiny with oil, also popular for espresso; burned undertones, acidity diminished"},
{name : "Dark French", description : "Very dark brown very shiny, burned tones become more distinct, acidity almost gone."},
{name : "Spanish", description : "Very dark brown, nearly black and very shiny, charcoal tones dominate, flat."}
]
}

Предположим, что файл с этими данными хранится на диске под именем coffee.json.


Страница, представленная в примере 9.2, загружает этот файл и обеспечивает доступ к данным через глобальную переменную JavaScript – coffeeStore.

Пример 9.2. Программная загрузка данных механизмом ItemFileReadStore


Fun with ItemFileReadStore!
type="text/javascript"
src="http://o.aolcdn.com/dojo/1.1/dojo/dojo.xd.js">


(body)
(/body)


Парсер будет представлен только в главе 11, но изза его широкого использования есть смысл явно упомянуть, что тот же самый эффект можно было получить с помощью разметки, представленной в примере 9.3.
Пример 9.3. Загрузка данных механизмом ItemFileReadStore в разметке


Fun with ItemFileReadStore!
type="text/javascript"
src="http://o.aolcdn.com/dojo/1.1/dojo/dojo.xd.js"
djConfig="parseOnLoad:true">


(body)
jsId="coffeeStore">

(/body)


Независимо от того, как будут объявлены данные, прикладной интерфейс работает одинаково в обоих случаях.


Определенно стоит потратить несколько минут, чтобы поэкспериментировать с существующими данными в консоли Firebug. Далее в этом разделе приводится серия фрагментов программного кода, команд и возвращаемых значений для большинства функций интерфейсов Read и Identity, которые вы можете просматривать и использовать для более быстрого изучения механизма ItemFileReadStore.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
ItemFileReadStore
ItemFileWriteStore
Запрос дочерних элементов
Иерархии и ссылки в формате JSON
Извлечение элемента по идентификатору

Вернуться в раздел: Dojo / Абстракция данных