2017-07-03 74 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

感謝您的回答! –