我有一个动态创建的列表视图。数据源的模式也在改变应用程序中的操作的临时性。因此,架构也是动态创建的。
我的问题是,我无法更新模板。
我的代码是
if (queryResultsFirstLoad) {
queryResultsFirstLoad = false;
e.view.element.find("#queryResultsViewUl").kendoMobileListView({
template : '<a>' + listInnerHtml + '</a>',
dataSource : kendo.data.DataSource.create(data),
click : function(e) {
if (e.dataItem) {
queryResultItemClick(e);
}
}
});
} else {
$("#queryResultsViewUl").data("kendoMobileListView").setDataSource(data);
var newTemplate = kendo.template(listInnerHtml);
$("#queryResultsViewUl").html(newTemplate(data));
}
第一次加载时效果很好。但是当它第二次加载时,我无法更新列表视图的模板。
答案 0 :(得分:0)
我找不到只更改模板的方法。另一种选择是破坏kendoListView ..它的工作原理
if (!queryResultsFirstLoad) {
var listView = $("#queryResultsViewUl").data("kendoMobileListView");
// detach events
listView.destroy();
} else {
queryResultsFirstLoad = false;
}
e.view.element.find("#queryResultsViewUl").kendoMobileListView({
template : '<a>' + listInnerHtml + '</a>',
dataSource : kendo.data.DataSource.create(data),
click : function(e) {
if (e.dataItem) {
queryResultItemClick(e);
}
}
});