“@”有啥作用?
Posted
技术标签:
【中文标题】“@”有啥作用?【英文标题】:What does the "@" do?“@”有什么作用? 【发布时间】:2011-12-30 18:28:23 【问题描述】:有时我会在我正在工作的项目中看到以下内容:
text="@myVar"
那个@是做什么的?
编辑:文本是一个属性,例如,TextArea 组件。
【问题讨论】:
【参考方案1】:@ 符号用于双向绑定。传统绑定只是一种方式。所以,你在 ActionScript 中有这样的东西:
[Bindable]
public var myValue:String = 'test';
这在 MXML 中
<s:TextInput id="myInput" text="myValue" />
myValue 是源,而 myInput 上的 text 属性是目标。
当 myValue 变量改变时,TextInput 的 text 属性也会改变。但是,如果您输入 myInput; myValue 的值不会改变。
这是一种方式绑定。更改源 (myValue) 会更改目标 (myInput.text),但更改目标 (myInput.text) 不会更改源 (myValue)。
当您添加“@”时,它会创建一个双向绑定:
<s:TextInput id="myInput" text="@myValue" />
所以,现在每当 myValue 改变时,TextInput 的 text 属性就会改变。 (如上一个示例)。 每当 myInput.text 发生变化时,myValue 也会发生变化(与上一个示例不同)。
基本上,'@' 使值(myValue 和 myInput.text)成为绑定的源和目标。
您可以通过使用Binding 标签来完成同样的事情,而无需“@”:
<fx:Binding source="myInput.text" destination="myValue " />
这对你来说是更深入的解释吗?
【讨论】:
哇,我不知道这会存在! 这是 Flex 4 的新功能。以上是关于“@”有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章