Я довольно долго скрывался за переполнением стека и нашел довольно много полезных ответов.Большое спасибо сообществу!Я надеюсь, что смогу вскоре поделиться своими полезными ответами.
Тем временем у меня есть еще одна проблема, которую я не могу решить.Я использую Sencha Touch для создания веб-приложения для телефона, и у меня возникают проблемы с использованием вложенного цикла для перебора некоторого JSON.Я могу получить данные первого уровня, но не элементы, вложенные в этот первый уровень.Существует несколько связанных с ExtJS потоков , но я решил создать свой собственный, поскольку ExtJS и Touch расходятся тонкими, но важными способами.Во всяком случае, вот некоторый код, чтобы показать, где я нахожусь:
JSON (усечено - JSON генерируется PHP / MYSQL, и в настоящее время на самом деле есть три подуровня с заголовком, ко всем из которых я могу получить доступЭто подуровень "элементы", через который я не могу перебрать):
{
"lists": [
{
"title": "Groceries",
"id": "1",
"items": [
{
"text": "contact solution - COUPON",
"listId": "1",
"id": "4",
"leaf": "true"
},
{
"text": "Falafel (bulk)",
"listId": "1",
"id": "161",
"leaf": "true"
},
{
"text": "brita filters",
"listId": "1",
"id": "166",
"leaf": "true"
}
]
}
]
}
Store:
var storeItms = new Ext.data.Store({
model: 'Lists',
proxy: {
type: 'ajax',
method: 'post',
url : LIST_SRC,
extraParams: {action: 'gtLstItms'},
reader: {
type: 'json',
root: 'lists'
}
}
});
Рабочий цикл:
storeItms.on('load', function(){
var lstArr = new Array();
storeItms.each(function(i) {
var title = i.data.title;
lstArr.push(i.data.title);
});
console.log(lstArr);
});
Неработающий вложенный цикл:
storeItms.on('load', function(){
var lstArr = new Array();
storeItms.each(function(i) {
var title = i.data.title;
var id = i.data.id;
title.items.each(function(l) {
lstArr.push(l.data.text);
});
});
console.log(lstArr);
});
Неработающий вложенный цикл выдает ошибку «Невозможно вызвать метод« каждый »из неопределенного», ссылаясь на «title.items».каждый ... '
Я подозреваю, что это потому, что я не установил title в качестве ключа для установки пары ключ: значение, поэтому он просто видит список строк ... но явроде как в замешательстве.
Я должен упомянуть, что магазин заполнен двумя моделями, которые были связаны друг с другом.Я знаю, что Магазин может получить доступ ко всему, потому что я могу выполнять вложенные итерации с помощью XTemplate.
Любая помощь будет высоко оценена и, надеюсь, вскоре будет возвращена сообществу в натуральной форме! '
-Эрик