Как создать сетку данных со значениями подмассива хранилища данных в Ext 4? - PullRequest
1 голос
/ 25 октября 2011

У меня есть многомерный массив следующим образом (PHP выводит в действительный JSON), и я связал его через хранилище данных JSON с Ext.Это отрывочная версия массива:

    $data = array(
        "user"=>array(
            "details"=>array(
                "first_name"=>"John",
                "last_name"=>"Doe",
                "birthday"=>"03/21/1982"
            ),
            "campaigns"=>array(
                array(
                    "id"=>"19283",
                    "name"=>"Great Campaign One",
                    "status"=>3
                ),
                array(
                    "id"=>"59433",
                    "name"=>"Great Campaign Two",
                    "status"=>1
                )
            ),
            "notifications"=>array(
                array(
                    "id"=>"32143",
                    "subject"=>"This is a message for you",
                    "summary"=>"You need to do this and this...",
                    "read"=>0,
                    "status"=>3
                ),
                array(
                    "id"=>"54324",
                    "subject"=>"New Message too",
                    "summary"=>"More info for a great typer...",
                    "read"=>1,
                    "status"=>5
                )
            )
        )
    );

Поскольку я хотел бы свести к минимуму обращения к серверу, я хотел бы вызвать эту запись один раз, а затем получить доступ к подмассивам (сведения, уведомления, кампании,и т. д.) для отдельных таблиц данных в моем приложении.Нужно ли отдельное хранилище для каждого подмассива?или я могу просто использовать один магазин и получить к ним доступ непосредственно в моих таблицах и таблицах?

Спасибо!

1 Ответ

1 голос
/ 26 октября 2011

Я бы предложил разные магазины.В Ext 4 хранилище может быть сконфигурировано с моделью, которая имеет больше смысла в контексте чего-то вроде «Уведомления», а не всего «пользователя» в вашем случае.Причина в том, что помещение всех пользовательских данных в одну монолитную модель вызовет много накладных расходов, поскольку объекты Ext Reader изначально работают с плоскими наборами данных.Если вы сделали каждый экземпляр модели таким же монолитным, как и пользователь, в вашем случае, то вам нужно будет добавить дополнительный код к коду чтения вашего магазина Reader.

Кроме того, если каждый раздел «пользователя»Если вы используете отдельную сетку, то вам определенно понадобятся разные хранилища, поскольку сетки Ext соединяются через отдельные хранилища.И сетка будет буквально отображать данные в хранилище, где каждая строка в сетке соответствует экземпляру модели в хранилище.

См. это , это это для более подробной информации.

...