Windows 8 metro javascript app绑定到表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Windows 8 metro javascript app绑定到表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2099字,纯文字阅读大概需要3分钟。
内容图文
![Windows 8 metro javascript app绑定到表](/upload/InfoBanner/zyjiaocheng/968/8208690cbb924622a81b0b3f030f8209.jpg)
我在我的javascript metro应用程序中绑定一个表时遇到问题,而不是绑定它放在div中加载的模板中提供的html,并将json作为字符串呈现.这就是我所拥有的:
<tr id="tableRow" data-win-control="WinJS.Binding.Template">
<td data-win-bind="innerText: label"></td>
<td data-win-bind="innerText: value"></td>
<td></td>
</tr>
<table>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody class="topContent" data-win-control="WinJS.UI.ListView" data-win-options="{ selectionMode: 'none' }"></tbody>
</table>
我用来绑定的javascript(topContent是{label,value}对象的列表:
function bindContent() {
var list = new WinJS.Binding.List();
topContent.forEach(function (item) {
list.push(item);
});
var listView = document.querySelector(".topContent").winControl;
var template = document.getElementById("tableRow");
listView.layout = new ui.ListLayout();
listView.itemTemplate = template;
listView.itemDataSource = list.dataSource;
}
解决方法:
你不能像这样使用ListView. ListView控件添加了一大堆额外的元素来完成它的工作,这会导致表的问题.
答案是直接使用WinJS.Binding.Template控件并使用它将行插入表元素.以下是模板所需的HTML:
<table >
<tbody id="myTemplate" data-win-control="WinJS.Binding.Template">
<tr >
<td data-win-bind="innerText: label"></td>
<td data-win-bind="innerText: value"></td>
<td></td>
</tr>
</tbody>
</table>
您需要在标记中放置一个完整的表和tbody,以便浏览器不会对查找未附加的tr元素或插入tbody元素本身感到不安.模板的外部元素将被丢弃,因此在使用模板时,只会从模板生成tr元素.
这是表的标记,其中将插入生成的元素 – 这是你所拥有的,除了我添加了一个id属性,所以我可以找到从Javascript插入内容的元素:
<table>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col2</th>
</tr>
</thead>
<tbody id="myTableBody">
</tbody>
</table>
最后,这是代码:
WinJS.UI.processAll().then(function () {
var tableBody = document.getElementById("myTableBody");
var template = document.getElementById("myTemplate").winControl;
topContent.forEach(function (item) {
template.render(item, tableBody);
});
});
您需要确保在使用模板之前满足WinJS.UI.processAll返回的Promise.为要处理的每个项调用render方法 – 参数是要传递给模板以进行数据绑定的数据项,以及用于将生成的元素插入的DOM元素.
内容总结
以上是互联网集市为您收集整理的Windows 8 metro javascript app绑定到表全部内容,希望文章能够帮你解决Windows 8 metro javascript app绑定到表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。