Я ценю помощь и поддержку, которую вы мне оказали для начала работы с Sencha Touch.Теперь я столкнулся с некоторыми сложными бизнес-сценариями, где мне гораздо сложнее с этим справляться.Вот мои бизнес-потребности.
При успешном входе в приложение клиент sencha получает ответ объекта JSON, где присутствуют все доступные продукты и коды.Кроме того, тег состояний содержит список исключаемых товаров.Образец в формате JSON, который я вставил ниже.
У меня должна быть форма, в которой мне нужно будет отобразить выпадающий список состояний и продуктов.Пользовательский интерфейс в порядке.Я сделал с этим. Но теперь сложность заключается в том, что когда я выбираю состояние, я должен исключить список продуктов из общего числа доступных продуктов.
Я использовал Ajax-запрос , а затем decode метод для декодирования ответа JSON.Теперь у меня есть полный JSON как объект.
У меня есть 2 магазина, один для списка товаров и другой для списка штатов. Мне не требуется синхронизация моего хранилища с сервером, так как это увеличивает использование данных.
Прослушиватель для управления опциями также выполнен, Теперь, как я могу манипулировать JSON и динамически обновлять Магазин товаров.Пожалуйста, предложите.
Вот пример ответа JSON:
{
"defaultProducts": {
"product": [
{
"code": "pro1",
"name": "Product AA"
}, {
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "uni1-sc",
"name": "Product DD"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1-sc",
"name": "TCO - Enhanced"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"states": {
"state": [
{
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AL",
"name": "Alabama"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AK",
"name": "Alaska"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "uni1-sc",
"name": "Product DD"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1-sc",
"name": "TCO - Enhanced"
}
]
},
"code": "AZ",
"name": "Arizona"
}, {
"excludeProducts": {
"excludeProduct": [
{
"code": "pro1",
"name": "Product BB"
}, {
"code": "pro1-INP",
"name": "Product CC"
}, {
"code": "pro1",
"name": "Product EE"
}, {
"code": "uni1",
"name": "Product FF"
}, {
"code": "uni1",
"name": "Product GG"
}
]
},
"code": "AR",
"name": "Arkansas"
}
]
},
"licensedTo": "mycomp.com"
}
Пожалуйста, объясните мне любую другую логику, которую я мог быиспользовать для реализации таких сложных сценариев.