当我尝试使用对象数组的静态数据源设置ListView控件时,我得到了下面的堆栈跟踪。 ui.js中的应用程序错误出现在这一行:
var rendered = WinJS.Promise.as(this.renderer(itemForRendererPromise, recycledElement)).
then(WinJS.UI._normalizeRendererReturn);
TypeError:renderItemAsync期望的对象 (ms-appx://microsoft.winjs.1.0/js/ui.js:20074:9)在匿名 函数(ms-appx://microsoft.winjs.1.0/js/ui.js:22477:54)at at _renlementItem(ms-appx://microsoft.winjs.1.0/js/ui.js:10557:9)位于_elementForItem(ms-appx://microsoft.winjs.1.0/js/ui.js:10637:13)at _itemFromItemPromise (ms-appx://microsoft.winjs.1.0/js/ui.js:10333:9)_itemAtIndex (ms-appx://microsoft.winjs.1.0/js/ui.js:10341:9)在匿名 函数(ms-appx://microsoft.winjs.1.0/js/ui.js:17393:21)at at Promise_ctor(ms-appx://microsoft.winjs.1.0/js/base.js:1865:17)at at _LayoutCommon_measureItems(ms-appx://microsoft.winjs.1.0/js/ui.js:17338:17)在匿名 函数(ms-appx://microsoft.winjs.1.0/js/ui.js:17296:29)
答案 0 :(得分:5)
事实证明这是因为我将我正在使用的列表项模板(WinJS.Binding.Template)移到HTML页面的底部。如果您不将模板放在listview之前,则会出现此错误。很奇怪,但至少它很容易解决。