Windows 8 WinJS ListView:无法设置属性\u itemsCount

Windows 8 WinJS ListView:无法设置属性\u itemsCount,windows-8,windows-store-apps,winjs,Windows 8,Windows Store Apps,Winjs,我刚刚遇到一个错误无法设置未定义或空引用的属性'\u itemsont'。在我的代码中没有这样的属性,所以我浏览了WinJS源代码,发现实际上WinJS ListView中使用了一个属性\u itemsCount 尽管我多次尝试重现,但错误没有再次出现。现在我担心我有一只海森堡潜伏在某处:以前有人遇到过这个吗?你有什么办法摆脱它吗 更新:我仔细查看了一下WinJS代码,发现\u itemsCount可能与当前选择的管理有关。当从空对象取消引用属性时,通常会看到这种错误。例如-x.\u items

我刚刚遇到一个错误
无法设置未定义或空引用的属性'\u itemsont'
。在我的代码中没有这样的属性,所以我浏览了WinJS源代码,发现实际上WinJS ListView中使用了一个属性
\u itemsCount

尽管我多次尝试重现,但错误没有再次出现。现在我担心我有一只海森堡潜伏在某处:以前有人遇到过这个吗?你有什么办法摆脱它吗


更新:我仔细查看了一下WinJS代码,发现
\u itemsCount
可能与当前选择的管理有关。

当从空对象取消引用属性时,通常会看到这种错误。例如-x.\u itemsCount,其中x为null或未定义。您的代码中有列表视图吗?您是否将其异步绑定到项目承诺中?是否在退出页面时未取消加载项目并将其设置为listview的承诺?listview从itemDataSource获取其项目。它将异步加载这些项,但我希望ListView能够取消它自己从数据源请求项时创建的任何挂起承诺。毕竟,让数据源跟踪它返回的承诺并将这些承诺与导航连接在一起是没有多大意义的——那将是一种丑陋的体系结构。我不是在谈论listview的内部承诺。我指的是page.js文件是否有任何winjs.xhr承诺,例如,需要在页面卸载中取消这些承诺。同样-您的代码可能/可能没有相同的问题。假设ListView本身取消了对数据源和项目呈现程序的所有承诺,则此代码中没有与此相关的其他承诺。如何分配数据源?在绑定到WinJS.binding.List时,我多次忽略了一件事,那就是我需要将数据源设置为“myList.datasource”——而不仅仅是设置为“myList”。目前不在Win8上,因此无法测试是否会产生相同的错误。