【问题标题】:Problems with refresh function for page, in AppceleratorAppcelerator 中的页面刷新功能问题
【发布时间】:2011-04-10 13:45:58
【问题描述】:

钛 SDK 版本:1.6.1 iPhone SDK 版本:4.2

我正在使用 JavaScript。

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

问题是每次我刷新页面时,新内容下都会有内容的“副本”。就像应用程序只是在每个新鲜的内容上不断叠加新的内容副本。

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

你可以在这里找到我的页面代码:http://pastie.org/1778830

【问题讨论】:

    标签: javascript appcelerator


    【解决方案1】:

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

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

    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);
    )();
    

    【讨论】:

    【解决方案2】:

    表格视图 -

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

    table.setData(tableData); // Updated Content

    列表视图 -

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

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

    要在 Window 内更新内容,您可以使用“打开”侦听器。

    win.addEventListener("open",loadData);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 2011-05-13
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      相关资源
      最近更新 更多