0

我在使用 Sencha Touch 2 制作一对多模型时遇到问题。

我想保存“人员”并将“待办事项”添加到人员。这些值应保存在本地存储中。

所以 1 个人可以有很多待办事项。

为此,我有 2 个模型和 2 个商店。

人物模型:

Ext.define("app.model.PersonModel", {
extend: "Ext.data.Model",
config: {
    idProperty: 'email',
    fields: [
        { name: 'name', type: 'string' },
        { name: 'email', type: 'string' },
    ],
    validations: [
        { type: 'presence', field: 'email' , message: 'Blabla'},
        { type: 'presence', field: 'name' , message: 'Blabla'},
        { type: 'email', field: 'email' , message: 'Blabla'},
    ]
}
});

待办事项模型:

Ext.define("app.model.TodoModel", {
extend: 'Ext.data.Model',
config: {
    idProperty: 'todoId',
    fields: [
        { name: 'todoId', type: 'int' },
        { name: 'email', type: 'string' },
        { name: 'note', type: 'string' }
    ],
    validations: [
        { type: 'presence', field: 'todoId', message: 'Blabla' },
        { type: 'presence', field: 'email', message: 'Blabla' },
        { type: 'presence', field: 'note', message: 'Blabla' }
    ]
}
});

人物商店:

Ext.define("app.store.PersonStore", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
    model: "app.model.PersonModel",
    proxy: {
        type: 'localstorage',
        id: 'todo-app-personstore'
    },
    sorters: [{ property: 'name', direction: 'ASC'}],
    grouper: {
        sortProperty: "name",
        direction: "ASC",
        groupFn: function (record) {
        }
    }
}
});

待办商店:

Ext.define("app.store.TodoStore", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
    model: "app.model.TodoModel",
    proxy: {
        type: 'localstorage',
        id: 'todo-app-todostore'
    },
    sorters: [{ property: 'email', direction: 'ASC'}],
    grouper: {
        sortProperty: "email",
        direction: "ASC",
        groupFn: function (record) {
        }
    }
}
});

我删除了我在模型中建立的关联,因为它们根本不起作用。

也许相关信息:首先我要救一个人。稍后我想保存待办事项并将它们连接到一个人。

4

1 回答 1