我有一个Appcelerator Titanium应用程序,我有一个Ti.UI.ListView
,里面有一个视图(view_one.xml):
...
<ListView onItemclick="getEvaluation" id="myLisview" defaultItemTemplate="templateLm" bottom="0" top="10" onItemclick="changePage" backgroundColor="white">
<Templates>
<Require id="lm_items" src="common/templateLm"/>
</Templates>
</ListView>
...
共同/ templateLm:
<Alloy>
<ItemTemplate name="templatePageMission">
<View bindId="evaluate" height="10dp">
<Label text="evaluate"></Label>
</View>
<View bindId="stars" height="15dp"/>
</ItemTemplate>
</Alloy>
在view_one.js中:
function getEvaluation(e){
switch(e.bindId){
case 'evaluate':
var item = e.section.getItemAt(e.itemIndex);
console.log(item) // <= this is empty ????
item.stars.backgroundColor = "red";
break;
}
}
当点击评估视图时,我终于得到了: undefined不是对象(评估item.stars.backgroundColor)
如果有人可以提供帮助,这很棒,无论如何,感谢这个伟大的社区。 p>
答案 0 :(得分:0)
您已为itemclick
事件分配了两次:
onItemclick="changePage"
和
onItemclick="getEvaluation"
因此,如果您只使用后者,它应该正确捕获控制器功能,并且项目应该正确更新,因为您的控制器代码看起来有效。