合金数据绑定找不到集合

时间:2014-04-01 23:36:42

标签: backbone.js data-binding titanium-mobile appcelerator titanium-alloy

我正在编写一个简单的应用程序,我想尝试使用Alloy数据绑定,

我有一个模型Region all set,我通过在标记中添加它来创建一个单例

<Alloy>
    <Collection id="regions" src="Region" instance="true"/>
    <Window  id="regionWin">

    <TableView id="table" dataCollection="Region">
            <TableViewRow title="{regionName}" />           
    </TableView>

    </Window>
</Alloy>

使用控制器中的模型可以正常工作

var c = Alloy.createCollection('Region');

var aRegion =  Alloy.createModel('Region', { '_id':'123', 'regionName':'Lazio', 'version': 43});
aRegion.save();

但是在XML中,也没有将id“regions”或集合名称“Region”作为TableView属性“dataCollection”的值,我得到了结果。

错误总是

找不到变量:RegionScreen.js的区域(第34行) 要么 在RegionScreen.js找不到变量:region(第34行)

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

dataCollection中,您应该使用$.regions($。加上您在Collection元素中定义的ID)。

<Alloy>
    <Collection id="regions" src="Region" instance="true"/>
    <Window  id="regionWin">

        <TableView id="table" dataCollection="$.regions">
            <TableViewRow title="{regionName}" />           
    </TableView>

    </Window>
</Alloy>