2

テンプレートを初めてレンダリングするときは正常に機能します。期待どおりに表示されます。

ここに画像の説明を入力してください

戻って同じ画面に再度移動すると、次のようになり、リストのフォーマットが失われます。

ここに画像の説明を入力してください

なぜこれが発生し、どのように防ぐことができますか?

テンプレートの定義は次のとおりです。

<div data-role="view" data-layout="app" data-title="Time Card" id="screen1">
</div>
<script type="text/x-kendo-template" id="template1">
    Heading
    <ul data-role="listview" data-style="inset" data-type="group"> 
        <ul data-role="listview">
            Group 1
            # for (var i = 0; i < data.headers.length; i++) { #
                <li><a>#= data.heades[i].Item #</a></li>
            # } #
        </ul>
        <ul data-role="listview">
            Group 2
            <li>hello</li>
            <li>goodbye</li>
        </ul>
    </ul>
</script>

以下は、テンプレートを埋めてそこに移動するコードです。

var templateContent = $("#template1").html();
var template = kendo.template(templateContent);
var data = {headers: headers};
$("#screen1").html(template(data));
app.navigate("#screen1");
4

1 に答える 1

1

これは、サポートされていないビューのHTMLを置き換えているために発生しています。たとえば、ウィジェットは変更後に再初期化されません。

$("#screen1").html(template(data)); //html replacement of the View's content is not supported

ウィジェットをデータソースにバインドし、そのAPIメソッドを使用してコンテンツを変更することをお勧めします。ListViewは、データの変更後にテンプレートを自動的に再レン​​ダリングします。

于 2013-01-20T17:10:37.243 に答える