1

私は Windows 8 メトロ スタイル アプリ開発の初心者であり、PHPベースの Web アプリケーション開発のバックグラウンドを持っています。

今、私のアプリでは、使用してデータを取得し、リストWinJS.xhrに追加しWinJS.Binding.Listます。問題は、ページに再度アクセスすると、以前の xhr コードから取得した古いデータがまだそこにあり、新しいデータがこのリストに追加されることです。

これを修正する方法は?

編集

宅配data.jsファイル

     var list = new WinJS.Binding.List();
        var groupedItems = list.createGrouped(
            function groupKeySelector(item) { return item.group.key; },
            function groupDataSelector(item) { return item.group; }
        );

        function getFeaturedRestaurants(city_id) {
            Utilities.featuredRestaurants(city_id, 'home_delivery').
                then(function onComplete(result) {
                    var restaurants = result.result;

                    for (var i = 0; i < restaurants.length; i++) {
                        restaurants[i].group = Groups[0];
                        restaurants[i].key = restaurants[i].id;
                        list.push(restaurants[i]);
                    }
                },
                function onError() {
                }, function onProgress() {
                });
        }
  function clearData() {
        list.splice(0, list.length);
        list._currentKey = 0;
    }

HomeDelivery.js

  ready: function (element, options) {
            //code above this line removed
           HomeDeliveryListdata.GetSearchData(params).then(afterCall, function (req) { }, function (req) { });

        },
 unload: function () {
            HomeDeliveryListdata.clearData();
        }
4

2 に答える 2

0

異なる WinJS.Navigation 間で使用できるようにしたい場合は、データをクリアしないでください。アプリケーション内のどこかで変数を保持するだけで、再び必要になったときにデータ ソースとして再利用できます。

ただし、アプリケーションの実行間 (たとえば、アプリケーションが終了した場合) には持続しません。そのためには、ファイルまたはデータベースを使用してデータをディスクに書き込む必要があります(mozilla には優れたガイドがあり、ここには優れたラッパーがあります) 。

于 2012-09-03T17:19:23.227 に答える