gpt4 book ai didi

javascript - Extjs 5,数据模型关联&加载嵌套数据

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:04 25 4
gpt4 key购买 nike

努力使这项工作....

我想在两个对象模型上加载嵌套数据

Ext.application({
name : 'MyApp',

launch : function() {


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

entityName: 'Address',

fields: [

{
name: 'id',
type: 'int'
},
{
name: 'addressLine',
type: 'string'
},
{
name: 'city',
type: 'string'
},
{
name: 'created',
type: 'date',
dateFormat: 'time',
persist: false
}
]
});


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

entityName: 'User',

fields: [
{
name: 'id',
type: 'int'
},
{
name: 'address',
reference: 'Address'
},
{
name: 'name',
type: 'string'
},
{
name: 'lastname',
type: 'string'
},
{
name: 'created',
type: 'date',
dateFormat: 'time',
persist: false
}
]
});


var user = new MyApp.model.User({
"id": 1,
"name": "Pedro",
"lastname": "Carbonell",
"address": {
"id": 1,
"addressLine": "Bailen 22",
"city": "Barcelona",
"created": 1420668866000
},
"created": 1420668866000
});

console.info(user);
console.info(user.getAddress());

}});

创建用户时没有错误,但是当我通过 user.getAddress() 访问关联数据时,它返回了一个异常:

 Uncaught Error: The model ID configured in data ("[object Object]") has been rejected by the int field converter for the id fieldext-all-debug.js

尝试在模型定义上定义像 memory 或 localstorage 这样的代理,但结果是一样的。

分机 fiddle :https://fiddle.sencha.com/#fiddle/h2d

任何帮助将不胜感激!

最佳答案

已解决,但只找到这个解决方案:当使用 loadRawData...

    var store = new Ext.data.Store({
model: MyApp.model.User
});

store.loadRawData({
"id": 1,
"name": "Pedro",
"lastname": "Carbonell",
"address": {
"id": 1,
"addressLine": "Bailen 22",
"city": "Barcelona",
"created": 1420668866000
},
"created": 1420668866000
});

console.info(store.first());
console.info(store.first().getAddress());

在这个新 fiddle 上采样:https://fiddle.sencha.com/#fiddle/h4e

你是对的,ext有点不稳定,非常....

关于javascript - Extjs 5,数据模型关联&加载嵌套数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28140379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com