我正在编写一个简单的应用程序,我想尝试使用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行)
有什么建议吗?
答案 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>