加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Flex 3中创建双向数据绑定?

发布时间:2020-12-15 01:46:54 所属栏目:百科 来源:网络整理
导读:我需要将属性绑定到编辑控件并让控件将其值写回同一属性.问题是,我在创建控件之前设置了源值: mx:Panel mx:Script ![CDATA[ [Bindable] public var editedDocument: XML; ]] /mx:Script mx:TextInput id="docLabel" text="{editedDocument.@label}"/ mx:Bin
我需要将属性绑定到编辑控件并让控件将其值写回同一属性.问题是,我在创建控件之前设置了源值:

<mx:Panel>
    <mx:Script>
        <![CDATA[
            [Bindable] public var editedDocument: XML;
        ]]>
    </mx:Script>
    <mx:TextInput id="docLabel" text="{editedDocument.@label}"/>
    <mx:Binding source="docLabel.text" destination="editedDocument.@label"/>
</mx:Panel>

我这样称呼:

var xmlDoc: XML = <document label="some label" />;
var myPanel: MyPanel = new MyPanel();
myPanel.editedDocument = xmlDoc;
parent.addChild(myPanel);

这是怎么回事:

> docLabel文本字段最后为空(等于“”)
> xmlDoc的@label属性设置为“”

我想要的是这个:

> docLabel文本字段应包含“某个标签”
>只有当docLabel的text属性发生更改时,xmlDoc的@label属性才会更改.

如何使用Flex 3完成此任务?

编辑

我也试过这个:

<mx:Panel>
    <mx:Script>
        <![CDATA[
            [Bindable] public var editedDocument: XML;
        ]]>
    </mx:Script>
    <mx:TextInput id="docLabel"/>
    <mx:Binding source="editedDocument.@label" destination="docLabel.text"/>
    <mx:Binding source="docLabel.text" destination="editedDocument.@label"/>
</mx:Panel>

结果是一样的.

解决方法

您可以尝试使用BindingUtils在创建类之后以编程方式创建绑定:
http://life.neophi.com/danielr/2007/03/programmatic_bindings.html

我已经习惯于解决类似的问题.如果您无法从链接中发现评论,我会挖掘我的源代码并查看我能找到的内容.

private function init():void 
{
  var xmlDoc: XML = <document label="some label" />;
  var myPanel: MyPanel = new MyPanel();
  myPanel.editedDocument = xmlDoc;
  parent.addChild(myPanel);
  BindingUtils.bindProperty(docLabel,"text",editedDocument,"label");

  //or maybe it should be one of these,I have not done binding to an XML attribute before
  BindingUtils.bindProperty(docLabel,"@label");
  BindingUtils.bindProperty(docLabel,"{@label}");
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读