Jquery mobile 如何使用Knockout和Upshot数据绑定jquerymobile
我正在尝试构建一个jquerymobileui,它使用upshot从服务获取数据,然后使用Knockout.js将值绑定到列表。我能够填充数据,但是,JQuery mobile样式没有得到渲染 这是我的密码。在此方面的任何帮助都将不胜感激Jquery mobile 如何使用Knockout和Upshot数据绑定jquerymobile,jquery-mobile,knockout.js,upshot,Jquery Mobile,Knockout.js,Upshot,我正在尝试构建一个jquerymobileui,它使用upshot从服务获取数据,然后使用Knockout.js将值绑定到列表。我能够填充数据,但是,JQuery mobile样式没有得到渲染 这是我的密码。在此方面的任何帮助都将不胜感激 <h2>Projects (<span data-bind="text: projects().length"></span>)</h2> <ul data-inset="true" data-bind=
<h2>Projects (<span data-bind="text: projects().length"></span>)</h2>
<ul data-inset="true" data-bind="foreach: projects" data-role="listview" data-theme="e" data-dividertheme="c" data-filter="true">
<li>
<a href="#" data-bind="text: ProjectName"></a>
Project Type : <label data-bind="text: ProjectType"></label>
Description : <label data-bind="text: Description"></label>
</li>
</ul>
<p></p>
@(Html.UpshotContext(bufferChanges: true).DataSource<ProjectServiceController>(x => x.GetProjects()))
<script type="text/javascript">
$(function () {
var dataSource = upshot.dataSources.Projects.refresh();
var ProjectsViewModel = {
projects: dataSource.getEntities()
};
ko.applyBindings(ProjectsViewModel);
});
</script>
刷新调用是异步的,因此您可以提供一个在刷新后执行的回调函数。jQueryMobile文档表示,如果添加项目,则需要在创建项目后刷新listview: 下面是一个示例,说明了如何做到这一点:
var dataSource = upshot.dataSources.Projects.refresh(function() {
$("ul").listview('refresh');
});
刷新调用是异步的,因此您可以提供一个在刷新后执行的回调函数。jQueryMobile文档表示,如果添加项目,则需要在创建项目后刷新listview: 下面是一个示例,说明了如何做到这一点:
var dataSource = upshot.dataSources.Projects.refresh(function() {
$("ul").listview('refresh');
});