0

在控制器中,我创建了一个休息商店:

this.somePerson = Ext.create('Darkhorn.store.Human', {
    model: 'Darkhorn.model.Human',
    autoLoad: false
});
this.somePerson(123);

但即使我在模型中设置了 idProperty,它也不会加载 id 为 123 的人。它加载了所有人类。

这一加载可以检索 ID 为 123 的人。

Ext.ModelManager.getModel('Darkhorn.model.Human').load(record.data.ID, {
    success: function(recordd) {
        someHuman = recordd;
    }
});

它获取 ID 为 123 的人类,但 someHuman 不是商店。因此someHuman.sync()不起作用,它说sync()没有定义。或者,如果我使用someHuman.save()PUT作为服务器的所有数据。

4

1 回答 1

0

您必须查看findBy

示例(未测试):

var indexOfHuman123 = this.somePerson.findBy( function(recordTest){
    if( recordTest.get('id') == 123 )
        return true;

    return false;
});
var modelOfHuman123;
if( indexOfHuman123 != -1 )
    modelOfHuman123 = this.somePerson.getAt(indexOfHuman123);
于 2015-10-01T16:58:47.133 回答