Sencha Touch - HasOne Setter似乎不起作用

时间:2012-07-09 19:39:35

标签: javascript extjs sencha-touch extjs4 sencha-touch-2

所以我有以下几点:

events: [
 {
    id: 1,
    name: 'Birthday Party',
    organiser: {
        id: 1,
        name: 'Jill'
    },
    attendees: [
        {
            id: 2,
            name: 'Bob'
        },
        {
            id: 3,
            name: 'Jill'
        }
    ]
 }
]

像往常一样:活动有一个名字,它有与会者,但我也在寻找一个组织者。

所以我在HasOne Organizer的Event中设置了我的HasOne代理,我正在尝试创建Organizer对象并将其附加到控制台中的Event但是没有运气。

我尝试了类似这样的东西,因为文档说应该有一个setter创建...虽然似乎只提供设置ID的例子(也不起作用)。

var event = Ext.create('App.model.Event', {id: 1, name: 'Birthday Party'});
event.getOrganiser(); // says undefined

event.setOrganiser({
    id: 1,
    name: 'Jill'
}); // says TypeError: Object #<Object> has no method 'get'

event.setOrganiser(1); // As the example but it still says the TypeError message

event.setOrganiser(Ext.create('App.model.Organiser', {
    id: 1,
    name: 'Jill'
}); // says TypeError: Object #<Object> has no method 'get'

所以我很困惑......来自Doc的示例似乎对我不起作用,但无论如何我还需要传递其余的数据。不知道如何在不花一整天时间进入源代码,倾倒和破坏一切的情况下如何处理这个问题。

有什么想法吗?我应该能够做上述任何一项,还是不打算以这种方式工作?我想通过一次调用来POST事件和Organizer对象...所以当我做event.save()时,期待这样的JSON;

{
    id: 1,
    name: 'Birthday Party',
    organiser: {
        id: 1,
        name: 'Jill'
    }
}

很抱歉,如果你在ST论坛上看过这个,但它似乎是一个鬼城

感谢您的任何指示或帮助:)

1 个答案:

答案 0 :(得分:0)

更新到ST 2.0.1.1,这是有用的:

event.setOrganiser(Ext.create('App.model.Organiser', {
    id: 1,
    name: 'Jill'
});