Sencha touch 2 Sencha Touch 2存储被多次加载[超过最大调用堆栈大小]

Sencha touch 2 Sencha Touch 2存储被多次加载[超过最大调用堆栈大小],sencha-touch-2,Sencha Touch 2,我对Sencha Touch 2商店类有一个奇怪的问题。以下是我所拥有的: 定义列表视图的简单视图PollsList(存储属性设置为Polls)。我已经包括了所需的存储,如下所示:requires:['Polls'] 存储类轮询,模型属性设置为轮询,并带有虚拟数据属性 一个名为Poll的模型类(最简单) 具有以下启动方法的app.js文件: var PollsList=Ext.create('PollsList') Ext.Viewport.add(pollsListView) Ext.Vi

我对Sencha Touch 2商店类有一个奇怪的问题。以下是我所拥有的:

  • 定义列表视图的简单视图PollsList(存储属性设置为Polls)。我已经包括了所需的存储,如下所示:
    requires:['Polls']
  • 存储类轮询,模型属性设置为轮询,并带有虚拟数据属性
  • 一个名为Poll的模型类(最简单)
  • 具有以下启动方法的app.js文件:
var PollsList=Ext.create('PollsList')

Ext.Viewport.add(pollsListView)

Ext.Viewport.setActiveItem(pollsListView)

我还根据需要在app.js中包含了
商店:['Polls']
声明

现在,奇怪的是,当我访问PollsList视图时,Poll存储被无限期加载,直到我得到以下错误:

未捕获范围错误:最大调用堆栈大小超过sencha touch.js:598

堆栈似乎在以下调用上循环:

Ext.ClassManager.instantiate sencha touch.js:6378

(匿名函数)sencha touch.js:3198

(匿名函数)app/store/Polls.js:4

Ext.apply.globalEval sencha touch.js:598

Ext.apply.globalEval sencha touch.js:599

Ext.apply.loadScriptFile sencha touch.js:7673

Ext.apply.require sencha touch.js:7831

Ext.apply.synchatouch.js:7695

(匿名函数)


有什么想法吗?

看起来很奇怪,做了很多次,但没有出错

无论如何,请尝试删除setActiveItem,因为只有一个视图,它会将其视为活动视图

从代码中删除require行,因为目前似乎不需要它(只是因为我想让这个示例运行)

现在,尝试初始化存储,如下所示

var store = Ext.create("YourStore")   // 
var listControl = Ext.craeate("YourList" ,{store : "aboveCreatedStore" , ..... });
listControl.setData( {name :'hello'} ); // hoping the model is having one String type field
Ext.ViewPort.add(listControl);
就这样


上面给出的代码不是一个完整的解决方案(就像一个补丁),但它是为了让您知道当前代码中存在哪些错误。

我仍然对您的解决方案有相同的问题。我怀疑问题来自商店本身。因为当我评论app.js和PollsList.js中的所有requires属性时,我仍然有这个问题(当然是使用你的解决方案)。我发现了我的错误。而不是像这样在我的存储文件中定义我的存储:
Ext.define('MyStore',{…})它的定义如下:
Ext.create('MyStore',{…}),不知何故,当需要这个存储时,它被无限期地实例化了,问题解决了!