我真的不明白为什么模型绑定到proxy
而不是store
,所以如果我需要商店的模型,我必须做这样的事情:
var m = store.getProxy().getModel();
Ext.data.AbstractStore有没有任何理由没有getModel()方法?
答案 0 :(得分:1)
你做错了;商店不会使用代理模型,但如果您没有为商店定义自己的代理,它将使用模型的代理。然后,您可以访问商店的model
属性。
如果你没有说清楚,请给我一个评论,我会在一个例子中更深入地描述它。
<强>更新强>
到目前为止,我仔细研究了一下,我无法告诉你为什么缺少getter但是在store和proxy上都有一个公共属性model
,它应该至少包含一个实例时的modelname被建造。到目前为止,您只从商店获取modelname,因此您需要首先通过调用此类函数来解析modelconstructor
Ext.ModelMgr.getModel(store.model);
其他一些信息 更仔细地看一下源是非常困惑的,我必须测试它,但似乎有一些不一致。
简而言之
- &gt; 代理需要模型 - &gt; 商店可以获取指定模型的代理 - &gt; 商店(似乎)始终设置代理的模型 - &gt; 代理(设置模型时)可以设置商店的模型
我认为他们正在为即将发布的4.2版本准备一些东西,以便当他们的商店模型未定义时,人们不会感到困惑,即使他们已经分配给代理商(例如)