我试图在Ext JS 6中设置一个可以预先加载引用对象数据的一对一关系。
这意味着我应该能够定义引用Foo
的类Bar
和类Foo
,然后以{{1}的方式执行b = Ext.create(Bar, data)
包含用数据初始化的b.something
对象。
阅读文档here似乎很简单,除了它不起作用:
Foo
此问题也在here进行了讨论,但提议的解决方案似乎不适用于Ext JS 6。
有人在Ext JS 6或一般解决方案中有一个工作示例吗?
P.S。对于过度热心的主持人:这是关于Ext JS 4. *或Ext JS 5的任何类似问题的重复 NOT ,因为它们具有不同的关系实现,因此这些解决方案不起作用。
答案 0 :(得分:1)
以下是一个例子:
Ext.define('Fiddle.model.Base', {
extend: 'Ext.data.Model',
schema: {
namespace: 'Fiddle.model'
}
});
Ext.define('Fiddle.model.User', {
extend: 'Fiddle.model.Base',
fields: [{
name: 'address',
reference: 'Address'
}],
proxy: {
type: 'ajax',
idParam: null,
url: 'user.json'
}
});
Ext.define('Fiddle.model.Address', {
extend: 'Fiddle.model.Base'
});
var user = Ext.create('Fiddle.model.User', {
id: 1
});
user.load({
callback: function(rec) {
console.log(rec.getAddress().getData())
}
});