2013-11-20 18 views
1

當我在ExtJs 4.2+中使用Ext.create()創建一個模型時,我期待映射來填充模型,但似乎沒有這樣做。這是一種正常的行爲嗎?使用Ext.create創建模型時映射不起作用?

如果我在商店裏使用與映射模型,映射工作正常...

示例不工作:

http://jsfiddle.net/B6v6v/

Ext.define('MyApp.model.file', { 
    extend: 'Ext.data.Model', 

    fields: [ 
     { 
      name: 'name', 
      mapping:'label' 
     }] 
}); 

var rec = Ext.create("MyApp.model.file",{"label":"TEST"}); 
console.log(rec.get("name")); 

回答

2

是的,這是正常的。該映射用於將來自服務器的數據轉換爲模型中可讀的數據。如果你已經有了這些數據,爲什麼不使用正確的密鑰呢?

如果你一定要,你可以這樣做:

MyApp.model.File.getProxy().getReader().readRecords([{}, {}, {}]);

+0

我從許多Ext.Ajax.request(獲取數據),從靜止API調用。該模型已在另一家商店使用,我想在這裏依靠相同的模型... – Xelt

+0

更新,如果你必須... –

+0

工作正常!謝謝...我也會嘗試用addRecords param設置爲true的臨時商店... – Xelt