我在Sencha Touch 2 Store课上遇到了一个奇怪的问题。这就是我所拥有的:
requires:['Polls']
, var pollsListView = Ext.create('PollsList');
Ext.Viewport.add(pollsListView);
Ext.Viewport.setActiveItem(pollsListView);
我还根据需要在app.js中添加了stores: ['Polls']
声明。
现在,奇怪的是当我访问 PollsList 视图时, Poll 存储无限期地加载,直到我收到以下错误:
Uncaught RangeError: Maximum call stack size exceeded sencha-touch.js:598
并且堆栈似乎在以下调用上循环:
Ext.ClassManager.instantiate sencha-touch.js:6378
(anonymous function) sencha-touch.js:3198
(anonymous function) 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.syncRequire sencha-touch.js:7695
(anonymous function)
有什么想法吗?
答案 0 :(得分:0)
看起来很奇怪,做了很多次,但没有出错。
任何方式,请尝试删除 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);
多数民众赞成......
上面给出的代码不是一个完整的解决方案(它就像一个补丁),但它是为了让你知道你在当前代码中做了什么错误。