Символ @ используется для двухстороннего связывания.Традиционное связывание - это только один из способов.Итак, у вас есть что-то вроде этого в ActionScript:
[Bindable]
public var myValue:String = 'test';
И это в MXML
<s:TextInput id="myInput" text="{myValue}" />
myValue является источником, а свойство text в myInput является местом назначения.
При изменении переменной myValue текстовое свойство TextInput изменится.Однако, если вы введете в myInput;значение myValue не изменится.
Это односторонняя привязка.Изменение источника (myValue) меняет место назначения (myInput.text), но изменение места назначения (myInput.text) не меняет источник (myValue).
Когда вы добавляете «@», это создает двапуть привязки:
<s:TextInput id="myInput" text="@{myValue}" />
Итак, теперь, когда изменяется myValue, свойство text TextInput будет меняться.(Как и в предыдущем примере).Всякий раз, когда изменяется myInput.text, myValue также будет меняться (в отличие от предыдущего примера).
В основном '@' делает оба значения (myValue и myInput.text) источником и местом назначения для привязки.
Вы можете сделать то же самое без '@', используя тег Binding :
<fx:Binding source="myInput.text" destination="myValue " />
Это более подробное объяснение для вас?