Appcelerator / Titanium Alloy - 如何在将字符串添加到视图之前对其进行操作

时间:2014-01-31 15:20:14

标签: javascript titanium appcelerator titanium-alloy

我有一个钛合金视图,它输出TableView,每个视图缩略图。这是通过将URL传递到image元素的ImageView属性来实现的。因为它是一个由Alloy集合填充的Alloy视图,它为我处理数据循环:

<TableView id="brandsList" dataCollection="brands">
    <TableViewRow brandID="{brand_id}">
        <View class="vgroup">
            <ImageView height="45" width="80" id="image" image="{image}" />
            <Label id="name" text="{name}" />   
        </View>             
    </TableViewRow>
</TableView>

但是,我想在之前更改该网址字符串到达上面的视图。特别是我需要在URL的中间添加一些值来改变图像质量和大小。如何捕获此字符串字符串值并进行更改?

1 个答案:

答案 0 :(得分:5)

从这段代码看起来你正在进行数据绑定。您可以在视图中显示数据之前对其进行转换

http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Data_Binding

<TableView id="brandsList" dataCollection="brands"  dataTransform="transformFunction">
    <TableViewRow brandID="{brand_id}">
        <View class="vgroup">
            <ImageView height="45" width="80" id="image" image="{image}" />
            <Label id="name" text="{name}" />   
        </View>             
    </TableViewRow>
</TableView>

然后在代码中

function transformFunction(model) {
    // Need to convert the model to a JSON object
    var transform = model.toJSON();
    transform.image = /* do someting to image url string */;
    return transform;
}