2017-07-03 73 views
2

如何从具有hasOnehasMany关系的模型继承?有必要保存这些关系。具有关系的模型的继承(hasOne和hasMany)

我在测试区中进行的示例:https://fiddle.sencha.com/#view/editor&fiddle/22fi

模型Fiddle.model.User2Fiddle.model.User继承。

在文件app.js User2我连接到存储库。如果你连接User,那么一切都会工作。但是在使用User2模型时,链接不起作用:getAddress()方法返回空,并且getUser()方法不起作用。

+0

ExtJS关联有很多问题(至少在v4.2中),只需编写自己的关联就容易多了。虽然如果您想使用原始关联,我会建议在['Ext.data.Model'](https://docs.sencha.com/extjs/6.2.0/classic/src/Model)中放置一个断点。在'Model.onExtended()'部分中的js-1.html)。 – MarthyM

+1

@MarthyM我听说在ExtJS 5和6中协会变得更好;他们不得不为V6找到新的功能,他们的工程师可能完全失败,特别是ChainedStore。 – Alexander

+0

感谢您的回答。协会完美运作。但是继承存在问题。我会尽力联系Sencha Inc.的技术支持。 –

回答

1

煎茶技术支持答

不幸的是,这是目前不支持。 但我们确实有一个打开的功能请求来添加此功能。

请不要因为它是一个功能请求而不是bug,所以不能保证它何时或是否会被添加到框架中。

0

the code,他们要么忘记了,要么不支持。为了得到明确的答案,您必须制作Sencha支持票。即从目前的类和父类混合在一起的一切功能都包含父类proto参数:

Model.initIdentifier(data, cls, proto); 
    Model.initFields(data, cls, proto); 
    Model.initValidators(data, cls, proto); 

而联想没有原始参数,所以他们只取自当前等级:

 Model.initAssociations(schema, data, cls); 

但是,这可能是完全可能的,这是预期的行为。例如文件fields国家明确:

扩展模型的类将继承父/祖先类的所有fields

虽然文件的例如, hasOne状态(由我强调):

一个或多个Ext.data.schema.HasOne协会为这个模型。

请向Sencha支持澄清。

+0

感谢您的回答! –