Titanium SDK版本:1.6.1 iPhone SDK版本:4.2
我正在使用JavaScript。
我正在开发一个从API获取信息的应用程序。在这个应用程序中,在这个页面上,我有两种“刷新”内容的方法。当窗口聚焦并点击刷新按钮时。
问题在于,每次我对页面进行全新操作时,都会在新内容下面对内容进行“复制”。这就像应用程序只是在每个新鲜的上面的内容的新副本上分层。
我的代码中出错了什么?有没有办法在每次刷新之前“清除”页面。我可以想象这个问题会占用大量的内存。
您可以在此处找到我的代码:http://pastie.org/1778830
答案 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);