1

也许我昨​​晚没有得到足够的睡眠,但我遇到了一个奇怪的 Flex 3.4 问题。

设想:

我有一个类,它为我的整个应用程序充当数据提供者,名为“DataProvider.as”:

package
{   
public class DataProvider
{

    [Bindable]
    public static var email_enable:Boolean = true;

}
}

在 mxml 表单中,“Settings.mxml”我有一个复选框控件,它绑定到我的 dataprovider 类的 email_enable 变量:

<mx:CheckBox x="452" y="170" label="{Language.loadLanguageResource('lblEmail')}"
             id="chkEmail" 
             selected="{DataProvider.email_enable}" 
             change="onChange()"/>

就获取值而言,一切都很好,如果我将 dataprovider 中的变量设置为 true 或 false,则复选框会反映此更改;但是,如果我单击复选框并更改其值,则 dataprovider 变量永远不会反映更改

我一直把头撞在墙上,无法解决这个问题。我用谷歌搜索了我的心无济于事。请救救我。

4

1 回答 1

4

那是因为 Flex 具有单向绑定,至少在 3.x 中是这样;Flex 4 将支持 2 向绑定。

您需要将事件侦听器添加到 CheckBox 并从侦听器修改变量。

PS:你说得对,这实际上是我今天回答的最简单的问题;)

于 2010-01-25T17:54:04.003 回答