3

我一直在 MXML 中的变量周围使用 { } ,但并没有真正理解它们的用途。我现在需要知道是否应该在变量周围使用它。那有什么作用?

例子:<mx:label text="{variable}"/>

4

4 回答 4

8

那是绑定!,
在这种情况下,这意味着标签的文本将显示“变量”的内容,如果您更改“变量”的值,它也会更改标签显示的文本。

于 2009-06-24T14:16:27.857 回答
5

如上所述,这会将变量绑定到该对象。

<mx:label text="{variable}"/>

这将绑定variable到标签,因此无论何时variable更改,标签中的文本也会更改。要记住的另一件事是您必须将变量设置为Bindable

<mx:Script>
    ...
    [Bindable]
    private variable:String = "Label";
    ...
</mx:Script>
于 2009-06-24T14:31:16.190 回答
3

{braces} 格式允许您设置控件以在标签更改时做出响应。任何标有 [Bindable] 属性的变量,如下所示:

[Bindable]
public var s:String;

可以放在绑定语句中。

请记住,如果您想绑定到一个数组,您应该使用 ArrayCollection 而不是标准数组,因为 ArrayCollection 实现了 IList 和 ICollectionView,这允许它在向集合中添加或删除项目时触发对控件的更新,并且数组需要手动更新控件以保持同步。

于 2009-06-24T14:29:43.837 回答
1

如前所述,这确实是一个数据绑定。adobe 有一篇关于在 flex 中使用数据绑定的不错的小文章。

于 2009-06-24T17:06:21.793 回答