1

私は Kendo UI Mobile アプリ (当時は iOS のみを使用) に取り組んでおり、現在アプリに 3 つのビューがあります。「メイン」ビューには ListView があり、他の 2 つのビューは単純なフォームです。

リスト ビューは、ローカル ストレージにあるデータにバインドされており、データを取得する方法があります。アプリが読み込まれると、すべて正常に動作しているように見えます。また、「プルして更新」を実行すると、データが更新されます。

私が理解できないのは、ビューが本質的に再表示されたときにリストを更新する方法です。ユーザーは他のビューのいずれかに移動して、データを更新する何らかのアクションを実行できるため、リスト ビューに戻ったときにデータが自動的に更新されるようにしたいと考えています。

うまくいけば、これは理にかなっていますか?appInit最初にデータをバインドするメソッドを以下に含めました。

function appInit() {
        $("#certificateList").kendoMobileListView({
            pullToRefresh: true,
            dataSource: new kendo.data.DataSource({
                transport: {
                    read: function(options) {
                        var data = Redemptions.getCertificates();
                        options.success(data);
                    },
                    schema: {
                        model: {
                            id: 'id',
                            fields: {
                                id: { type: 'number' },
                                value: { type: 'number', format: '{c2}' }
                            }
                        }
                    }
                }
            }),
            //dataSource: kendo.data.DataSource.create({data: Redemptions.getCertificates() }),
            template: $("#certificateTemplate").html()
        });
    }

私が試したこと

  • data-after-showメイン ビューの にアタッチされたメソッドを使用する
  • $('#certificateList').data('kendoMobileListView').refresh();「追加」コードが完了してメイン ビューに戻った後に呼び出します。
4

2 に答える 2

1

Kendo モバイル ビューには、イベント beforeShow があります。このためのイベントハンドラーを追加し、ビューが表示される前に必要なことは何でもできるはずです。

<div id="mainView" data-role="view" data-title="Main Page" data-before-show="mainViewLoad" data-layout="default">

function mainViewLoad() { 
    alert("Main View loaded"); 
}

jsbin http://jsbin.com/OBeZeZu/1/editを参照してください。

剣道イベント一覧はこちら http://docs.kendoui.c​​om/api/mobile/ view#events

于 2013-08-23T17:25:44.743 に答える