Привязать логическую переменную внутри ArrayCollection - PullRequest
0 голосов
/ 13 мая 2011
[Bindable]
public var isToggled:Boolean = true;

public var menuData:Array = [
    {label: "Sample", type: "check", toggled: {isToggled}}
];

Я пытаюсь связать переменную isToggled со свойством toggled, но я получаю эту ошибку: 1084: Синтаксическая ошибка: ожидается двоеточие перед точкой.Возможно, потому что он обрабатывает {isToggled} как другой объект.Есть ли обходной путь для этого?

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Вы не можете использовать привязки ('{}') вне mxml, если не используете BindingUtils.Однако я бы не рекомендовал это делать, потому что теперь вы копируете свои данные.

Зачем вам нужны 2 логических значения?У вас уже есть данные, просто свяжите их с помощью свойства menuData.

1 голос
/ 13 мая 2011

У вас не может быть преимуществ декларативного связывания данных в коде ActionScript. Это разрешено только внутри тегов MXML. Но вы можете объявить свой Array или ArrayCollection с MXML:

<fx:Declarations>
    <s:ArrayCollection id="myCollection">
        <s:source>
            <fx:Array>
                <fx:Object label="Sample" type="check" toggled="{isToggled}" />
            </fx:Array>
        </s:source>
    </s:ArrayCollection>
</fx:Declarations>
...