我有一个ScrollableView,它在每个子视图中都有一些图像和标签。但是,我想为每个项目存储一个ID值,以便我可以在onClick事件中使用它。此ID可用于查询数据库或打开传入值的新控制器。
我考虑过在视图上添加一个属性来存储我的ID,就像这样
<ScrollableView dataCollection="videos" id="mainCarousel">
<View onClick="carouselItemClick" itemID="{the_id}">
<ImageView image="{episode_img_cached}"></ImageView>
<Label text="{title}" id="mainCarouselTitle"></Label>
<Label text="{series_txt}" id="mainCarouselSeriesDetails"></Label>
<Label text="{episode_txt}" id="mainCarouselEpDetails"></Label>
</View>
</ScrollableView>
在我的carouselItemClick
我想做这样的事情:
function carouselItemClick(event) {
var selectedItemID = event.source.itemID; // get the ID from the view clicked
var view = Alloy.createController("episode", itemID).getView();
}
在上面的函数中,我试图找到itemID
属性,但它不存在。
如何在此视图上存储{the_id}
的值,以便当我单击/点击它时,我可以用它来打开一个新的控制器,并将该值作为参数传递?
答案 0 :(得分:1)
event.source
将是您实际点击的标签或图片。在子图像和标签上设置touchEnabled="false"
,您的代码应该按预期工作。