2013-02-13 61 views
1

我确定我错过了一些东西,但我无法理解为什么在调试模式下完美工作的列表不显示在生产中。构建应用程序后sencha触摸列表不起作用

一些细节:
- 名单是Ext.navigation.View
内 - 名单必须出示由itemtap事件过滤店从另一个列表中
- 商店从远程JSON读取
- 构建是一个web应用程序

这是我使用的更新列表代码:

listUpdate: function() { 
    console.log("sections_list update " + this.section); 
    section = this.section; 

    this.setStore(Ext.getStore('sections_remote')); 

    this.getStore().setFilters([function(item) { 
     return item.get('section')==section 
    }]); 

    this.getStore().load({ 
     callback: function(records, operation, success) { 
      console.log("sections_list loaded "+records.length); 
      this.refresh(); 
     }, 
     scope: this 
    }); 
} 

装载后,records.length总是托塔l长度而不是过滤记录的数量,但在调试版本中,该列表仅显示过滤记录,而在生产中则不显示任何内容。

有什么想法?

在此先感谢, 丹尼尔

+1

我不确定会发生什么,但由于构建JS代码是压缩的,因此重要的是要有所有分号。您需要在过滤器行的末尾添加一个。除此之外,我真的不确定。有兴趣听到,如果你知道,但是。 – jakerella 2013-02-13 16:28:09

+1

当你说它没有任何显示......你的意思是它的空白列表?你能否尝试将内联数据添加到列表中,并检查它是否有效,以便知道它是否存在连接错误或其他问题。 – SashaZd 2013-03-26 19:22:13

+1

添加在setFilters和加载函数的警报框中。还为listUpdate函数添加全局警报。这样你会知道什么时候被调用(或者在你的情况下没有调用)。有时它被调用的顺序,或者有时它根本不被调用的事实可能是问题 – SashaZd 2013-04-03 19:46:00

回答

0

我刚刚把所有的分号,现在它的工作原理。 谢谢你