0
那麼問題是什麼。我想從具有特定參數的WinJS列表視圖中排除項目(ID - 從JSON傳遞)。怎麼做?WinJs列表視圖顯示:沒有ID的瓦片
事情我已經嘗試:
一)將數據推送到someView.itemDataSource過程中它具有這種功能(它的工作的,但看上去很髒)前。
fldView.itemDataSource = this._processItemData(Data.items.dataSource);
....
_processItemData: function (data) {
for (var i = data.list.length; i >= 1; i--) {
if (data.list._groupedItems[i]) {
if (data.list._groupedItems[i].groupKey == 'Folders')
continue;
else {
if (data.list._groupedItems[i].data.folderID) {
data.list.splice(i - 1, 1);
}
}
}
}
return data;
}
B)有兩個條件模板的傳統方式(不工作):
fldView.itemTemplate = this.getItemTemplate;
....
getItemTemplate: function(promise){
return promise.then(function(item){
var
itemTemplate = null,
parent = document.createElement("div");
if(item.data.folderID){
itemTemplate = document.querySelector('.hideItemTemplate')
}else{
itemTemplate = document.querySelector('.itemTemplate')
}
//console.log(item.data.folderID);
itemTemplate.winControl.render(item.data, parent);
return parent;
})
}
2 HTML模板
<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;"></h4>
<h6 class="item-subtitle win-type-ellipsis" data-win-bind="textContent: subtitle" style="margin-left: 0px; margin-right: 4.67px;"></h6>
</div>
</div>
</div>
<div class="hideItemTemplate" data-win-control="WinJS.Binding.Template">
<div class="display-none"></div>
</div>
和CSS顯示:無
.hideItemTemplate, .display-none{
display:none;
}
提前致謝!
我明天早上檢查一下,並給出反饋。謝謝! – karlisup 2013-04-08 08:38:41
真棒,工作! – karlisup 2013-04-10 16:21:16