与 Ext JS 6 中的预加载一对一关系

One-to-one with preload relations in Ext JS 6

我正在尝试在 Ext JS 6 中建立一个有效的一对一关系,它可以预加载引用对象的数据。

这意味着我应该能够定义一个 class Foo 和一个 class Bar 引用 Foo 然后做 b = Ext.create(Bar, data) 这样 b.something 包含一个用数据初始化的 Foo 对象。

阅读文档 here 看起来很简单,只是它不起作用:

data = {'address': {'address': 'foo', 'city': 'foo', 'state': 'foo'}}
u = Ext.create('User', data)
u.getAddress()
none

也讨论了这个问题 here 但建议的解决方案似乎在 Ext JS 6 中不起作用。

有人有 Ext JS 6 中的工作示例或通用解决方案吗?

P.S。对于过分热心的版主:这是 NOT 任何关于 Ext JS 4.* 或 Ext JS 5 的类似问题的副本,因为它们有不同的关系实现,因此这些解决方案将不起作用.

这是一个例子:

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())
    }
});

https://fiddle.sencha.com/#fiddle/12up