【发布时间】:2013-04-23 13:00:01
【问题描述】:
我使用 ajax 加载数据并使用 Knockout 填充我的页面。这一切都很好,当我将页面更改为#contacts 时,它看起来不错。但是,当#contacts 页面是我加载的初始页面时,我遇到了问题。例如。如果我加载www.mydomain.com/#contacts,加载的初始页面是列表页面,因此ko.bindinghandlers.listview 没有任何影响。我尝试重新创建页面,但这也不能完全正常工作,并非所有样式都按应有的方式应用。我的列表视图不仅仅是一个列表视图,它还包含一个控件组,用于制作带有复选框的列表视图。
$("#contacts").page('destroy').page();
$('#contacts').bind('pageinit', function() {
$('ul').listview();
});
如何使用 Ajax 加载数据,将其(使用 ko)附加到我的 ul 并使其正确呈现。
如果#contacts 不是加载的初始页面,则如下所示:
当#contacts 是加载的初始页面时,这是我设法获得的最佳结果:
【问题讨论】:
-
我只是猜测,但也许在调用
.page()之前绑定处理程序? -
你能澄清一下这个问题吗?
-
@David 没有区别。结果相同
-
@UriAbramson 现已更新。希望现在更清楚了。
-
试试这个
$('#contacts').on('pagebeforeshow', function () { $('ul').listview().trigger('create'); });不要使用.bind使用.on-jsfiddle.net/Palestinian/Xcdwt
标签: javascript jquery jquery-mobile knockout.js