我在使用W8模板时遇到了大麻烦:
<div class="itemtemplate" data-win-control="WinJS.Binding.Template">
<div class="item">
<img class="item-image" src="#" data-win-bind="src: backgroundImage; alt: title" />
<div class="item-overlay">
<h4 class="item-title" data-win-bind="textContent: title" style="margin-left: 0px; margin-right: 291.08px;"></h4>
<h6 class="item-subtitle win-type-ellipsis" data-win-bind="textContent: subtitle"></h6>
</div>
</div>
</div>
但是有些元素我需要它们具有不同的外观,并且需要为它们添加一个ID,例如,此代码位于data.js中:
var sampleItems = [
{ group: sampleGroups[0], importancia: "top", title: "Item Title: 1", subtitle: "Item Subtitle: 1", description: itemDescription, content: itemContent, backgroundImage: lightGray },
{ group: sampleGroups[0], title: "Item Title: 2", subtitle: "Item Subtitle: 2", description: itemDescription, content: itemContent, backgroundImage: darkGray },
{ group: sampleGroups[0], title: "Item Title: 3", subtitle: "Item Subtitle: 3", description: itemDescription, content: itemContent, backgroundImage: mediumGray },
{ group: sampleGroups[0], title: "Item Title: 4", subtitle: "Item Subtitle: 4", description: itemDescription, content: itemContent, backgroundImage: darkGray },
{ group: sampleGroups[0], title: "Item Title: 5", subtitle: "Item Subtitle: 5", description: itemDescription, content: itemContent, backgroundImage: mediumGray }];
我该如何添加ID ?,因为importancia选项决定了我哪个具有ID。
最佳答案
我使用dynamic template binding
将值分配给id
元素的ListView
属性。但是,请注意,在@DominicHopton指出的“潜在重复项”中,您可能不想为自己的元素分配id
。
function listViewItemTemplate(item) {
// data has has information about each item
var data = item.data._value;
var itemElement = document.createElement('div');
if (data.shouldHaveId) { // check whatever condition that you need
itemElement.id = data.id; // assign an id to your element
}
...
return {element: itemElement}
}
...
// Then you can assign the template to your listview
youListViewControl.itemTemplate = listViewItemTemplate;
关于javascript - 如何在data-win-bind中设置ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14060346/