在ArrayCollection中绑定一个布尔变量

时间:2011-05-13 14:19:44

标签: flex data-binding actionscript boolean arraycollection

[Bindable]
public var isToggled:Boolean = true;

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

我正在尝试将isToggled变量绑定到toggled属性但是我收到此错误:1084:语法错误:在dot之前期待冒号。也许是因为它将{isToggled}视为另一个对象。有解决方法吗?

2 个答案:

答案 0 :(得分:1)

在ActionScript代码中,您无法获得声明性数据绑定的优势。仅在MXML标记内允许。但您可以使用MXML声明ArrayArrayCollection

<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>

答案 1 :(得分:1)

除非使用BindingUtils,否则不能在mxml之外使用绑定('{}')。但是,我不建议这样做,因为现在你正在复制你的数据。

为什么需要2个布尔值?您已经使用menuData属性绑定了数据。