Windows商店js应用程序导航控件导致数据绑定问题
Windows store js app navigation control cause data binding problems
//file.html
<div id="RankingTemplate" data-win-control="WinJS.Binding.Template" >
<h2>
<span class="Number" data-win-bind="innerText:place"></span>
<span id="ratingControlDiv"
data-win-control="WinJS.UI.Rating"
data-win-bind="winControl.averageRating: rating"
data-win-options="{maxRating:5,disabled:true}"></span>
<label for="ratingControlDiv" data-win-bind="innerText : votes"></label>
<span class="Name" data-win-bind="innerText : title"></span>
</h2>
</div>
<div id="RankingList"
data-win-control="WinJS.UI.ListView"
data-win-options="{
itemDataSource : sourceData.itemRankingData.dataSource,
itemTemplate : RankingTemplate,
tapBehavior: 'none',
swipeBehavior : 'none',
layout: {type: WinJS.UI.ListLayout}
}"></div>
//file.js
var dataRankingArray = [
{
place: 1,
rating: 4.75,
votes: "(2500000 votes)",
title: "Marius"
},
{
place: 2,
rating: 4.5,
votes: "(190 votes)",
title: "Napolis"
},
{
place: 3,
rating: 3.8,
votes: "(200 votes)",
title: "Oliva Restaurant"
},
{
place: 4,
rating: 3.42,
votes: "(215 votes)",
title: "Tucano Coffe"
},
{
place: 5,
rating: 3.1,
votes: "(197 votes)",
title: "Robert's Coffe"
}
];
var dataRankingList = new WinJS.Binding.List(dataRankingArray);
var publicMembers =
{
itemRankingData: dataRankingList
};
WinJS.Namespace.define("sourceData", publicMembers);
//屏幕截图
当应用程序加载时,主页看起来像以前的图像,并且一切正常。
之前https://i.stack.imgur.com/G4C3m.jpg
当我尝试使用导航控件从当前页面(主页)导航到同一个页面(首页)时,列表不会加载模板。结果显示在下一张图片中。
之后https://i.stack.imgur.com/CDbtW.jpg
这个问题很可能是因为navigator.js开箱即用不支持同页导航;旧页面在加载新页面之后卸载。两个更容易的修复是:
- 将页面初始化代码分离为一个单独的函数(例如,将其从ready()函数中移出),不重新加载页面,只需调用初始化函数即可
- 使用navigator.js的Win8版本,我认为它有不同的行为
如果你只需要更新你的数据,你可以使用这样的代码,而不是重新加载页面:
var lv = document.getElementById("RankingList");
lv.itemDataSource = sourceData.itemRankingData.dataSource;
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- 数据绑定:'系统Char'不包含名为'xxxxx'
- OnsenUI AngularJS数据绑定无法正常工作
- Ionic-item在导航栏中进行双向数据绑定
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- $http中的Angular 1数据绑定承诺不起作用
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 挖空和显示模块模式的数据绑定问题
- 使用大括号的 Internet Explorer 上的 AngularJS 数据绑定问题
- 复杂数据和自动完成的绑定问题
- angularjs数据绑定问题
- 淘汰数据绑定问题
- 数据绑定到文本区域和ng显示问题
- AngularJS ng-repeat数据绑定中的问题
- Windows商店js应用程序导航控件导致数据绑定问题
- AngularJS-文本区域中的数据绑定问题
- Json请求数据和jquery pretypto绑定问题