如何使用不同的名称从模型映射到字段
How to map from model to field using a different name
我有一个模型,它有一个带有name属性的字段,例如:
fields: [{
name: 'first',
type: 'string'
}]
现在我有了一个显示字段来显示模型中的这个字段,但是我不能将它命名为与模型中的相同,它看起来像这样:
{
xtype: 'displayfield',
name: 'first'
}
相反,我需要将字段命名为如下所示(与模型中给出的名称不同)
{
xtype: 'displayfield',
name: 'firstName'
}
现在我的问题是,我如何在模型中保持名称并为字段使用不同的名称?
我做了一些研究,发现'mapping'属性在Ext.data.field:
fields: [{
name: 'first',
type: 'string',
mapping: 'firstName'
}]
但是你需要给nameProperty配置值'mapping'在代理的作家,我不确定这是否是我要找的,因为我还没有设法使它工作(我认为作家是发送数据回服务器)。
我能在别的地方指定nameProperty吗?我走的路对吗?有其他的解决方案吗?
非常感谢。
您可以在模型中创建一个新的 computed 属性:
Ext.define('Customer', {
extend: 'Ext.data.Model',
fields: [{
name: 'firstName',
calculate: function() {
return this.get('first');
}
}],
});
注意此代码在ExtJS版本5及以上有效。
使用mapping
属性
如果您需要从服务器接收具有不同名称的字段,您可以使用mapping
属性。例如,如果您从服务器收到以下JSON:
[{
first_name: 'Dimitri',
last_name: 'Kurashvili'
}]
Then in model:
Ext.define('Customer', {
extend: 'Ext.data.Model',
fields: [{
name: 'firstName',
mapping: 'first_name'
}, {
name: 'lastName',
mapping: 'last_name'
}],
});
相关文章:
- HTML Dropdownlist未映射到MVC模型
- 将 ExtJS 代理 AJAX 响应映射到模型
- 字符串映射的Extjs模型数组
- 挖空映射:加载数据后,父模型中的计算可观察量不会更新
- Knockout JS将我的视图模型创建更改为使用映射pulgin
- 如何使用映射插件刷新挖空视图模型
- 无法将存储的响应映射到模型 - EmberJS
- 挖空映射对象未由杜兰达尔视图模型返回
- 挖空,映射后从视图模型获取 JSON
- 如何在不使用映射的情况下更新视图模型
- 使用映射插件在 KnockoutJS 中扩展视图模型
- KnockoutJS,映射插件,在模型更改时收到通知
- 映射嵌套的 KO 视图模型
- JavaScript MVC 结构,将模型映射到 REST API
- 使用 KnockoutJS 将 JSON 对象映射到视图模型的一部分
- KnockoutJS - 无法从纯 JSON 数组映射模型
- 如何将模型映射到淘汰赛
- 如何使用不同的名称从模型映射到字段
- 使用FTL's Javascript中的模型映射属性
- 如何将模型映射值获取到 jquery