[WP8开发] WinJS中winControl或者itemDataSource值为null的解决方案

在用WinJS开发的过程中,比如添加一个Pivot控件,添加PivotItem1,PivotItem2...

在js文件中执行对应的PivotItem语句,会发现这样一种情况:

PivotItem1是程序启动后首先呈现在界面中的元素,而Item2、Item3还没有被初始化,这时候如果js中单纯的去数据绑定Item2、Item3的值,

会出现"0x800a138f - JavaScript runtime error: Unable to set property 'itemDataSource' of undefined or null reference"。

 

这时候通过加断点调试才发现,该控件的winControl为undefined,所以xxx.winControl.itemDataSource肯定也为undefined。

那么需要首先把PivotItem2、3的控件初始化,这样可以解决winControl为undefined的问题:

//原JS:
var glistv = document.getElementById("GuideListView");
glistv.winControl.itemDataSource = data.dataSource;

//替换为:
var glistv = document.getElementById("GuideListView");
WinJS.UI.processAll(glistv).then(function dataBinding() {
    glistv.winControl.itemDataSource = data.dataSource;
});

 

转载于:https://www.cnblogs.com/zetianchiang/p/4310528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值