在ExtJs 6中创建记录与先前版本

时间:2015-12-21 14:34:56

标签: extjs extjs4 extjs5 extjs6

我注意到,与旧版本相比,ExtJs 6中创建记录的结果不同。

我在控制台中使用chrome运行了以下内容。我定义了以下模型。

 Ext.define('mymodel',{
   extend :'Ext.data.Model',
   fields : [
     {name:'firstname'}
  ]
});

然后我使用这个模型创建一个记录。

 var rec = Ext.create(mymodel,{
     firstname: 'Peter',   
     lastname: 'Venkman'
 });

当我从此记录中获取数据时

rec.getData();

结果是

ExtJs 6

Object {firstname: "Peter", lastname: "Venkman", id: "mymodel-1"}

ExtJs 4

Object {firstname: "Peter", id: undefined}

在ExtJs 6中

lastname 
正在创建

,尽管它未在模型中定义。谁知道为什么会这样?我在文档中找不到的东西发生了变化。

1 个答案:

答案 0 :(得分:1)

What’s New in Ext JS 5中包含的内容:

  

Model构造函数不再从数据对象中提取字段   它是给定的,而是采用它并基于它升级它   转换器和您定义的字段中的默认值。这意味着   您不再需要定义要保留的每个字段   记录。只要服务器以所需格式发送数据,   这些属性将保留在记录的数据对象上。这些   假定未声明的字段是持久的,因此将进行更改   跟踪并包含在保存回服务器中。