我正在使用Alloy和Alloy Collections来生成应用程序中的视图列表。我需要能够根据模型对象中的数据隐藏每个视图中的子元素。Appcelerator - 隐藏由dataCollection生成的列表中的UI元素
比如我有一个合金的看法:
<View dataCollection="$.collectionOfStuff">
<Label>Always visible</Label>
<Label>Only show when {isVisible} is true</Label>
<Label>Another label always visible</Label>
</View>
假设模型$.collectionOfStuff
有一个isVisible
财产,我想能够隐藏基于该值的第二个标签。在Label上设置visible属性很容易,但这只是隐藏了元素,并没有回收空间 - 意味着第一个和第三个标签之间存在间隙。我需要第二个标签停止占用空间。
我曾尝试使用数据绑定语法向元素(<Label class="{hiddenWhenNotVisible}">
)添加hidden
类,但Alloy似乎未解析类属性中的数据绑定标记。
这似乎不应该是如此困难,所以我希望我失去了一些明显的东西。
我不认为你错过了任何东西。我不相信数据绑定支持你想要做的事情。 – Ray