第一次渲染模板的效果很好。它会按预期显示:

返回并再次导航到同一屏幕时,将导致以下结果,其中将丢失列表格式:

为什么会发生这种情况,如何预防呢?
以下是模板定义:
<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");发布于 2013-01-21 01:10:37
这是因为您正在替换不受支持的视图的HTML。例如,小部件在更改后将不会重新初始化。
$("#screen1").html(template(data)); //html replacement of the View's content is not supported我的建议是使用bind the widget to a DataSource并使用其API methods来更改内容。数据更改后,ListView将自动重新呈现模板。
https://stackoverflow.com/questions/14217421
复制相似问题