为什么不是';我的ExtJS商店协会不工作吗
我有问题。我想使用漂亮的ExtJS关联,但它们不能正常工作 问题:为什么不是';我的ExtJS商店协会不工作吗,extjs,associations,Extjs,Associations,我有问题。我想使用漂亮的ExtJS关联,但它们不能正常工作 问题: 模型中未显示关联 加载后没有显示数据 需要注意的怪癖是什么?我最近在ExtJS协会经历了一段非常痛苦的学习过程,遇到了一些有用的文章,以及我自己的问题。以下是那些遭遇同样痛苦的人的总结 ExtJS中有许多关联的规则 始终将代理放在模型中,而不是存储中,除非 有很好的理由不这样做[1] 如果需要,请始终要求您的孩子模型 在许多关系中使用它们。[2] 如果要随意加载子项,请始终使用foreignKey 如果返回的子项与父项的响
- 模型中未显示关联
- 加载后没有显示数据
需要注意的怪癖是什么?我最近在ExtJS协会经历了一段非常痛苦的学习过程,遇到了一些有用的文章,以及我自己的问题。以下是那些遭遇同样痛苦的人的总结 ExtJS中有许多关联的规则
- 始终将代理放在模型中,而不是存储中,除非 有很好的理由不这样做[1]
- 如果需要,请始终要求您的孩子模型 在许多关系中使用它们。[2]
- 如果要随意加载子项,请始终使用foreignKey
- 如果返回的子项与父项的响应相同,请始终使用associationKey
- 如果愿意,可以同时使用foreignKey和associationKey
- 总是说出你有很多关系
- 在hasMany关系中始终使用完全限定的模型名称
- 考虑给读者根目录一个有意义的名称(而不是“数据”)
- 子模型不需要belongsTo关系,hasMany就可以工作
[2] 为了简化操作并避免潜在的循环引用,您可以在app.js中要求它们 ExtJS中HasOne和BelongsTo关联的规则
- 将代理放入模型中,除非您有很好的理由不这样做
- 始终使用完全限定的模型名
- 始终设置getterName
- 始终设置setterName
- 如果在与此对象相同的响应中返回外部对象,则始终设置associationKey
- 如果要随意加载外部对象,请始终设置foreignKey
- 考虑将instanceName更改为更短的名称
- 根据是否加载外部对象,getter的行为会有所不同 或者不是。如果已加载,则返回外部对象。否则,, 您需要传入回调才能获取它李>
- 如果计划覆盖此关联,则应设置name属性李>
- 你不需要一个属于你的关系,一个有很多工作
- 如果父模型的id字段不是“id”,则设置primaryKey属性
- 有时,您需要对belongsTo关联使用uses或requires。监视 尽管如此,我们还是要寻找循环引用李>
- 调用setter()函数不会 似乎没有设置实例。设置object.belongsToInstance=obj如果 调用setter()
- 如果要将数据应用于网格,请确保使用新存储在网格上调用reconforme()
- 您的“foreignKey”属性将作为本地筛选器应用于ExtJS存储;如果您看到数据通过网络加载,但是 如果不显示在网格中,请确保您的模型具有foreignKey 值定义为字段,否则本地筛选器将排除该数据 安静。若要测试是否存在这种情况,请钩住商店的“负载” 事件并调用store.clearFilters(),查看数据是否显示
需要:[……]
,因为我惊讶地发现这是我的问题。真的很讨厌ExtJs!