Appcelerator中页面刷新功能的问题

时间:2011-04-10 13:45:58

标签: javascript appcelerator

Titanium SDK版本:1.6.1 iPhone SDK版本:4.2

我正在使用JavaScript。

我正在开发一个从API获取信息的应用程序。在这个应用程序中,在这个页面上,我有两种“刷新”内容的方法。当窗口聚焦并点击刷新按钮时。

问题在于,每次我对页面进行全新操作时,都会在新内容下面对内容进行“复制”。这就像应用程序只是在每个新鲜的上面的内容的新副本上分层。

我的代码中出错了什么?有没有办法在每次刷新之前“清除”页面。我可以想象这个问题会占用大量的内存。

您可以在此处找到我的代码:http://pastie.org/1778830

2 个答案:

答案 0 :(得分:9)

这是一个常见的架构问题,您应该分离创建表和加载表数据的功能。

在创建窗口时创建一次表,并在表中多次加载数据。下面的伪代码应该给你基本的想法。

var win = Ti.Ui.currentWindow;
(function(){
   var table;

   // create the table
   function initializeWindow() {
   }

   // load the data, and update table
   function loadWindowData() {
   }

   initializeWindow();
   loadWindowData();

   // called whenever you want to update window data.
   Ti.App.addEventListener('app:refreshTable',loadWindowData);
)();

答案 1 :(得分:0)

TableView -

table.setData([]); // First Clear

table.setData(tableData); // Updated Content

ListView -

listView.sections[0].setItems([]);//First Clear

listView.sections[0].setItems(tableData); // Updated Content

要更新窗口中的内容,您可以使用“open”侦听器。

win.addEventListener("open",loadData);