首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sencha用复杂(命名空间)名称将多个关系键入为一个关系。

Sencha用复杂(命名空间)名称将多个关系键入为一个关系。
EN

Stack Overflow用户
提问于 2018-07-31 11:33:06
回答 1查看 93关注 0票数 0

sencha上的正式文件有一个多对一关系的简单例子.它使用“参考”字段来识别这种关系。

下面是一个稍微修改过的示例,这是可行的:

代码语言:javascript
运行
复制
Ext.define('Customer', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name']
});

Ext.define('Ticket', {
    extend: 'Ext.data.Model',
    fields: ['id', 'title', {
        name: 'customerId',
        reference: 'Customer'
    }]
});
const customer = new Customer({id: '1', name: 'paul'});
const ticket = new Ticket({id: '1000', title: 'blah', customerId: '1'});
const t = customer.tickets();
const c = ticket.getCustomer();
console.dir(t);
console.dir(c);

现在,我试图进一步修改它,方法是将"Customer“类重命名为使用命名空间(如sencha中的每个约定洋葱):

代码语言:javascript
运行
复制
Ext.define('Long.Name.Customer', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name']
});

Ext.define('Ticket', {
    extend: 'Ext.data.Model',
    fields: ['id', 'title', {
        name: 'customerId',
        reference: 'Long.Name.Customer'
    }]
});
const customer = new Long.Name.Customer({id: '1', name: 'paul'});
const ticket = new Ticket({id: '1000', title: 'blah', customerId: '1'});
const t = customer.tickets();
const c = ticket.getCustomer();

然而,现在突然间,类不再生成了,并且有一个没有定义customers.tickets的数组( ticket.getCustomer也没有定义)。

如何在多对一关系中使用命名空间?

此外:生成方法的规则是什么?--我注意到Customer.tickets()使用复数(在函数名中添加了-s ):一个以's‘结尾的单词会发生什么?这些生成的方法是否有“规则”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 15:27:18

为了使用命名空间,我找到了一个解决方案,引用字段的the getterName属性会有所帮助。以及互补的。然后,Ticket类的定义将变成:

代码语言:javascript
运行
复制
Ext.define('Ticket', {
    extend: 'Ext.data.Model',
    fields: ['id', 'title', {
        name: 'customerId',
        reference: {
            type: 'Look.Out.Customer',
            inverse: 'tickets',
            getterName: 'getCustomer',
            setterName: 'setCustomer',
        }
    }]
});

虽然我无法找到有关自动命名的信息(除了“它是基于角色的,并且主要是添加-s"),但是能够手动命名生成的方法避免了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51612393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档