为什么ExtJS4 Store类没有属性/函数来获取商店模型?

时间:2013-02-22 08:31:37

标签: extjs extjs4

我真的不明白为什么模型绑定到proxy而不是store,所以如果我需要商店的模型,我必须做这样的事情:

var m = store.getProxy().getModel();

Ext.data.AbstractStore有没有任何理由没有getModel()方法?

1 个答案:

答案 0 :(得分:1)

你做错了;商店不会使用代理模型,但如果您没有为商店定义自己的代理,它将使用模型的代理。然后,您可以访问商店的model属性。

如果你没有说清楚,请给我一个评论,我会在一个例子中更深入地描述它。

<强>更新

到目前为止,我仔细研究了一下,我无法告诉你为什么缺少getter但是在store和proxy上都有一个公共属性model,它应该至少包含一个实例时的modelname被建造。到目前为止,您只从商店获取modelname,因此您需要首先通过调用此类函数来解析modelconstructor

Ext.ModelMgr.getModel(store.model);

其他一些信息 更仔细地看一下源是非常困惑的,我必须测试它,但似乎有一些不一致。

简而言之

- &gt; 代理需要模型 - &gt; 商店可以获取指定模型的代理 - &gt; 商店(似乎)始终设置代理的模型 - &gt; 代理(设置模型时)可以设置商店的模型

我认为他们正在为即将发布的4.2版本准备一些东西,以便当他们的商店模型未定义时,人们不会感到困惑,即使他们已经分配给代理商(例如)