我正在尝试找出在自定义循环中计算数组值的最好方法。这是我的代码,我不确定这是一种有效的方式,还是有另一种方式:
var win = Ti.UI.createWindow({ backgroundColor: '#fff', layout:'vertical' });
var data = [
{title:'Row 1',customValue:'123'},
{title:'Row 2',customValue:'345'},
{title:'Row 3',customValue:'234'},
];
for(var i = 0, l = data.length; l--; i++) {
thisObject = data[i];
var container = Titanium.UI.createView({
left: 10,
right: 10,
customValue:thisObject.customValue
});
var label = Ti.UI.createLabel({
text : thisObject.title,
width : 'auto',
height : 25
});
container.add(label);
win.add(container);
container.addEventListener('touchend', function(e) {
alert(this.customValue);
});
}
win.open();谢谢。
发布于 2011-11-04 06:50:41
您的解决方案是可以接受的,并且在概念上与我的方法相似。但是,我建议您在需要的情况下对此自定义数据始终使用唯一的属性名称,并允许它通过使用对象来存储许多属性及其值。如果将来Appcelerator决定创建一个名为customValue的属性,您可能会满足于Titanium,并遇到不希望看到的结果。
传递/存储定制数据的:
var container = Titanium.UI.createView({
left: 10,
right: 10,
myUniqueCustomDataObject: { customValue: thisObject.customValue }
});像这样访问您的自定义数据对象属性的:
container.addEventListener('touchend', function(e) {
alert(this.myUniqueCustomDataObject.customValue);
});https://stackoverflow.com/questions/7997860
复制相似问题