【发布时间】:2014-11-04 21:25:40
【问题描述】:
用户滚动到列表视图的末尾时,我需要加载更多项目。
我尝试使用 microsoft 示例:http://code.msdn.microsoft.com/windowsapps/ListView-loading-behaviors-718a4673/view/SourceCode(场景 2)但它接缝列表视图在 windows phone 8.1 中的行为不同。
当我运行示例时,我可以看到只加载了可查看的内容(例如 50 个项目中的 5 个项目)。 但对于 Windows Phone,它确实会加载所有项目。
我使用这个代码:
listView.winControl.itemTemplate = this.incrementalTemplate;
incrementalTemplate: function (itemPromise, recycledElement) {
if (!recycledElement) {
recycledElement = document.createElement('div');
}
var renderComplete = itemPromise.then(function (item) {
console.log(item.index);
itemTemplate.winControl.render(item.data, recycledElement);
return item.ready;
}).done(function (item) {
console.log("clp"+item.index);
});
return { element: recycledElement, renderComplete: renderComplete };
},
项目是异步加载的。我可以在我的控制台中看到它打印了 50 倍的索引和 50 倍的 clp+index。即使我的列表一次只显示 5 个项目。
似乎我的列表视图从未触发加载状态事件
listView.addEventListener("loadingstatechanged", function (args) {
//never fired
}, false);
【问题讨论】: