ExtJS 4实例化模型的id设置为0

时间:2012-10-12 12:41:21

标签: extjs4

如果我定义这样的实体:

Ext.define('MyApp.model.Entity', {
    extend : 'Ext.data.Model',
    fields : [ {
        name : 'id',
        type : 'int'
    } ]
});

然后实例化它并输出其id:

var entity = Ext.create('MyApp.model.Entity');
console.log(entity.getId());

我输出0。我希望它是undefined。那是为什么?

1 个答案:

答案 0 :(得分:3)

有两种可能的原因。

首先,因为您使用名称id作为字段。 Ext.data.Model的{​​{1}}配置默认为idProperty,定义要与其他字段区别对待的字段名称。 id方法相当于getId

其次,因为get(idProperty)的类型是id,在这种情况下,该字段的默认值为0(除非您使用int字段配置)。

我个人试图避免将useNull用于模型属性,因为它倾向于与几乎所有内容发生冲突。我从来没有遇到像id或类似的事情那样的问题。