Показать сообщение отдельно
  #1 (permalink)  
Старый 13.03.2016, 10:54
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Создание связей между хранилищами в памяти
Я создал два хранилища. Указал связь один-ко-многим (hasMany: "Detail"). Указал что они связываются через поле "pid" хранилища "detailStore" ({ name: "pid", reference: "Master" }).

Вопрос, где прописать связь двух существующих хранилищ?

Вот код (песочница https://fiddle.sencha.com/#fiddle/1735):

var proxy = {
            type: "memory",
            reader: {
                type: "json"
            }
        };
        
        Ext.define("Master", {
            extend: "Ext.data.Model",
            fields: ["id", "title"],
            hasMany: "Detail"
        });
        
        Ext.define("Detail", {
            extend: "Ext.data.Model",
            fields: ["id", { name: "pid", reference: "Master" }, "title"]
        });
        
        var masterStore = Ext.create("Ext.data.Store", {
            proxy: proxy,
            model: "Master",
            data: [
                { id: 1, title: "Группа 1" },
                { id: 2, title: "Группа 2" },
                { id: 3, title: "Группа 3" }
            ]
        });
        
        var detailStore = Ext.create("Ext.data.Store", {
            proxy: proxy,
            model: "Detail",
            data: [
                { id: 1, pid: 1, title: "Запись 1" },
                { id: 2, pid: 1, title: "Запись 2" },
                { id: 3, pid: 1, title: "Запись 3" },
                { id: 4, pid: 2, title: "Запись 4" },
                { id: 5, pid: 2, title: "Запись 5" },
                { id: 6, pid: 2, title: "Запись 6" }
            ]
        });
        
        console.log(masterStore.getAt(1).details().getCount()); // Выдает нуль, хотя записей там три на каждую группу.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.

Последний раз редактировалось khusamov, 13.03.2016 в 14:34.
Ответить с цитированием