Извлечение элемента по произвольному критерию

Если необходимо извлечь элемент по атрибуту, не используемому для идентификации, вместо функции fetchItemByIdentity можно использовать более универсальную функцию fetch, как показано ниже:
coffeeStore.fetch({
query: {name : "Spanish"},
onItem : function(item, request){console.log(item);}
});

Однако, помимо полностью квалифицированных значений атрибутов, функция fetch также принимает небольшие, но надежные коллекции критериев, допуская использовать несложные регулярные выражения. Например, чтобы отыскать кофе, в описании которого присутствует слово «dark», без учета регистра символов, можно было бы выполнить запрос.
Пример 9.5. Извлечение элемента по произвольному критерию
coffeeStore.fetch({
query: {description : "*dark*"},
queryOptions:{ignoreCase : true},
onItem : function(item, request) {
console.log(coffeeStore.getValue(item, "name"));
}
/* здесь можно подключить другие функции обратного вызова... */
});

Если вы собираетесь создавать собственную реализацию хранилища данных, вам будет полезно знать, что модуль dojo.data.util.filter обеспечивает точно такую же возможность организации поиска совпадений по образу и подобию регулярных выражений, которая используется в функции fetch механизма ItemFileReadStore, а модуль dojo.data.util.simpleFetch предоставляет логику для восьми аргументов: onBegin, onItem, onComplete, onError, start, count, sort и scope.

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

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

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