`
xo_tobacoo
  • 浏览: 385275 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

flex类的双向绑定

阅读更多

1)官方的使用方法:使用[bindable]和@前缀.

2)报错:

class is not an IEventDispatche

解决如下:

function resultHandler(result:Array) {
   for(var i:String in result) result[i] = new ObjectProxy(result[i]);
   targetArrayCollection = new ArrayCollection(result);
}

 

产生原因如下,大意是使用AMF远程访问时会产生此问题。

This problem occurs frequently when transferring complex objects using AMF
when the object returned from the server contains an array or array
collection of more objects.
 
One symptom of this problem is that it occurs after converting the data
request from an HTTPService call to a Remote Object call.

It turns out that Flex does not handle data returned from the AMF data
service in quite the same way as HTTPService and WebService results. With
these two later services Flex will automatically wrap Arrays in
ArrayCollection and Objects in ObjectProxy wrappers so binding will work. 

The solution is to do this same thing manually, with code similar to the
following:
 

 

3)自定义双向绑定,出自一日本人:

   1. package cn.sloppy
   2. {
   3.     import flash.events.Event;
   4.     import mx.binding.utils.ChangeWatcher;
   5.     public class TwoWayBinding
   6.     {
   7.         public static function create(src1:Object, prop1:String, src2:Object, prop2:String):void
   8.         {
   9.             var flag:Boolean = false;
  10.  
  11.             ChangeWatcher.watch(src1, prop1, function(event:Event):void
  12.             {
  13.                 if(!flag)
  14.                 {
  15.                     flag = true;
  16.                     src2[prop2] = src1[prop1];
  17.                     flag = false;
  18.                 }
  19.             });
  20.  
  21.             ChangeWatcher.watch(src2, prop2, function(event:Event):void
  22.             {
  23.                 if(!flag)
  24.                 {
  25.                     flag = true;
  26.                     src1[prop1] = src2[prop2];
  27.                     flag = false;
  28.                 }
  29.             });
  30.         }
  31.     }
  32. }

 

调用如下:

   1. <?xml version="1.0" encoding="utf-8"?>
   2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" layout="absolute">
   3.     <mx:Script>
   4.         <![CDATA[
   5.             import cn.sloppy.User;
   6.             import mx.binding.utils.ChangeWatcher;
   7.             import mx.controls.Alert;
   8.             import cn.sloppy.TwoWayBinding;
   9.             [Bindable]
  10.             private var user:User;
  11.             private function init():void{
  12.                 user = new User();
  13.                 TwoWayBinding.create(myText,"text",user,"name");
  14.             }
  15.             private function showUserNameHandler():void{
  16.                 Alert.show(user.name);
  17.             }
  18.         ]]>
  19.     </mx:Script>
  20.     <mx:TextInput  text="{user.name}" id="myText" x="118" y="31">
  21.        
  22.     </mx:TextInput>
  23.     <mx:Button x="118" y="77" click="showUserNameHandler()" label="Button"/>
  24. </mx:Application>

 
0
1
分享到:
评论

相关推荐

    Dynamic Flex forms:动态生成flex(spark)表单的组件-开源

    概念验证项目,用于研究从动态(可能是外部化的)源生成Flex表单的潜力,以减少开发常见表单功能的开发时间。... 双向绑定是通过引入DynamicModel类来维护的,该类也能够跟踪污染的字段并执行验证。

    Flex4 SDK 新特性

    未来可能会有所变化: 前言与目录 Flex 4概述 (与学习资源) MXML 2009 新增MXML标签 改进的视图状态 (1) 改进的视图状态 (2) MXML图形元素与FXG ...双向数据绑定 高级CSS Selector MXML ASDoc

    flex3的cookbook书籍完整版dpf(包含目录)

    创建一个双向绑定 14.4节. 使用ActionScript来进行数据绑定 14.5节. 链式的属性绑定 14.6节. 使用E4X进行绑定XML的数据 14.7节. 创建个性化可绑定的属性 14.8节. 绑定到一个一般的对象 14.9节. 绑定到一个动态类的...

    Flash Builder 4 快速入门

    4.6 双向绑定 4.7 ASDoc 4.8 SWFObject 与 HTML Template 第五章 自定义组件开发 5.1 自定义Flex组件 5.2 MXML组件开发 5.3 ActionScript组件开发 第六章 与服务端通信 6.1 通过Http Service与服务端通信 ...

    Vue自定义日期输入框组件.zip

    实现思路 1、显示部分为一个输入框和一个下拉选择按钮,父级是一个div容器,采用 display:flex;justify-content: space-between;让两端靠边对齐 2、下拉选择按钮用css画一个向下的...5、用v-model实现数据双向绑定

    vue自定义ComboBox下拉框多选组件.zip

    用途:一般用于系统管理中多选角色,涉及 1、css样式:flex布局,postion之absolute,relative,画三角形 2、input checkbox类型的 v-model 双向绑定 onchange事件 3、数组过滤及循环遍历 4、子组件向父组件传值

    vue2学习文档(1).doc

    v-model 是 Vue 中的一个指令,用于实现双向数据绑定。v-model 的原理是通过使用 JavaScript Proxy 对象来实现数据绑定。可以使用以下代码实现 v-model: ``` export default { data() { return { message...

    最新AngularJS开发宝典视频教程 后盾网AngularJS培训视频教程 后盾网.txt

    ├最新AngularJS开发宝典—第007讲 ng-model在表单中双向绑定实例分析讲解.mp4 ├最新AngularJS开发宝典—第008讲 ng-value的使用实例讲解.mp4 ├最新AngularJS开发宝典—第009讲 实例讲解angular控制单选框.mp4 ├...

    小程序实现多选框功能

    实现的原理也非常的简单,数据渲染到列表,绑定事件修改列表项的checked属性,不建议直接操作data的数据,当要操作的时候可以定义一个局部变量,局部操作完成后,在赋值给data,利用数据双向绑定的特性,就完成所有...

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

Global site tag (gtag.js) - Google Analytics