1.因为要从其他as文件中引用这个mxml,创建new mxml 无法访问改对象以及属性,没有办法绑定,只能初始化之前,用个静态变量,XX.winName="测试数据",然后就可以使用BindingUtils对他自身初始化了。绑定之后,发现取值,取不到,所以采用双向绑定,因为是在其他as文件里引用
XX.instance.winName="测试数据",
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="360" height="300" >
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import com.starflow.core.util.Flow;
import com.starflow.event.handle.ToolBarHandler;
import mx.binding.utils.BindingUtils;
import mx.core.IFlexDisplayObject;
import mx.events.CloseEvent;
import mx.events.FlexEvent;
import mx.managers.PopUpManager;
public static var instance:XX= new XX;
public var winName:String="";
public function getName(val:String):void{
fname.text=winName;
}
//未初始化的时候从as文件赋初始值
public function setName(event:FlexEvent):void{
//BindingUtils.bindSetter(getName, instance.fname, "text");
BindingUtils.bindProperty(instance.fname ,"text",instance, "winName");
BindingUtils.bindProperty(instance, "winName",instance.fname ,"text");
}
]]>
</fx:Script>
<s:Panel title="属性" width="100%" height="100%" >
<mx:Form x="0" width="100%" height="100%" bottom="30">
<mx:FormItem label="名称" >
<mx:TextInput width="205" id="fname" preinitialize="setName(event)" />
</mx:FormItem>
</mx:Form>
<s:Button label="确定" click="{hide()}" id="submitBtn" horizontalCenter="-40" bottom="8"/>
<s:Button label="取消" click="{hide()}" horizontalCenter="40" bottom="8"/>
</s:Panel>
</s:Group>
分享到:
相关推荐
- `Error#1069: Property <property name> not found on <object> and there is no default value` 当试图访问对象上不存在的属性时触发。 这些错误的发生通常是因为绑定表达式中的某个部分未能按预期找到或处理...
在 Flex 中,你可以通过访问器(getter 和 setter 方法)来创建动态属性,这些访问器可以执行额外的逻辑,如验证或转换数据。 ```actionscript public class MyComponent extends UIComponent { private var _...
声明式数据绑定通过XML语法在MXML文件中直接设置,如`<mx:Label text="{data.name}" />`,这将Label组件的文本属性与名为"data"的对象的"name"属性绑定。编程式数据绑定则是在ActionScript代码中实现,例如`label....
Flex数据绑定是软件开发中Adobe Flex或Adobe AIR应用程序的核心特性,它允许数据在不同对象之间自动同步。数据绑定简化了用户界面(UI)组件与数据源之间的交互,减少了手动更新的需要。然而,如果不理解其工作原理...
你可以通过遍历DataGrid的items属性来获取所有数据项,然后访问每个item的children来获取单元格值。记得只提取可见的和有数据的单元格,因为DataGrid可能包含空格或隐藏列。 2. **创建数据结构**: 将解析出的数据...
事件对象作为参数传递给事件处理函数,开发者可以访问事件对象的属性和方法,以获取事件的具体信息,比如事件发生的位置、类型或时间等。 ### 使用HttpService获取数据 `HttpService`是Flex框架中的一个组件,用于...
8. **Services和远程数据访问** Flex支持与各种数据源的通信,如AMF、SOAP、REST等,可以方便地调用Web服务,获取和更新远程数据。 9. **动画和效果** 使用Flex,开发者可以创建复杂的动画效果,增强用户体验。...
- **ChangeWatcher**:虽然ChangeWatcher可以用来监视某些对象属性的变化,但它无法监控私有变量或自定义事件的变更,除非你手动处理这些事件。 - **自定义事件**:在使用自定义事件时,必须确保在源数据改变后正确...
综上所述,GET和SET方法是Flex开发中不可或缺的部分,它们提供了访问和修改对象属性的规范方式,同时保护了对象的内部状态,增加了代码的灵活性和可维护性。在实际项目中,合理使用GET和SET方法能够使你的Flex应用...
3. **绑定数据到UI**:将解析后的数据绑定到Flex组件,如List、DataGrid等,以便展示在用户界面上。 4. **处理用户交互**:监听用户操作,如点击事件,根据需要更新JSON数据,并可能用`JSON.stringify()`将更改转换...
3. **公共属性**:主窗口和弹出窗口可以共享公共属性或方法来交换数据。例如,弹出窗口可以设置一个公开的方法来接收数据,然后由主窗口调用这个方法。 4. **数据绑定**:如果数据模型是全局可访问的,比如使用...
七、Services与数据访问 Flex提供了一系列服务组件,如HTTPService、WebService、AMFChannel等,用于与服务器进行数据交换。这些服务组件支持XML、JSON、SOAP等多种数据格式,可以方便地调用远程Web服务或处理本地...
7. **服务与数据访问**:探讨如何使用Flex与服务器进行通信,包括XML、AMF(Action Message Format)和Web服务等数据交换格式,以及如何访问远程数据。 8. **动画和效果**:Flex提供了一些内置的动画和过渡效果,...
- 使用`data`属性访问绑定的数据,`index`属性获取数据项的索引,`listData`属性获取有关列表的附加信息。 - 可以监听`render`事件,以便在渲染完成后执行额外的逻辑。 - 自定义ItemRenderer还可以包含交互性,...
在Flex中,数据库交互通常通过数据访问对象(DAO)模式或服务代理实现,允许前端应用程序与后端数据库进行通信。在描述中提到的"专家解析"可能涵盖了如何设计和实现这些接口的策略,以及如何优化性能和处理错误。 1...
3. **解析JSON**:如果从服务器接收到一个JSON字符串,你可以使用`flash.utils.parseJSON()`方法将其转换为ActionScript对象,然后你可以访问其中的属性和方法。 4. **显示数据**:在Flex界面中显示解析出的JSON...
10. **学习路径**:对于初学者,了解Flex3的基本架构和组件是开始的步骤,然后深入学习ActionScript 3.0编程,掌握数据绑定和事件处理,最后是服务和数据访问,以及如何优化性能。 Flex3虽然现在已被Flex4、Flex ...
此外,数据绑定符`{}`可以直接引用属性或方法,如`{obj.text.toUpperCase()}`。而`[]`符号则表示属性的变化会触发数据绑定事件。 #### 十三、绑定事件触发 数据绑定事件会在源对象分发`initialize`事件或属性发生...
Flex教程及开发中文文档是针对Adobe Flex这一编程框架的学习资源,旨在帮助开发者深入理解和熟练运用Flex进行富互联网应用(RIA)的开发。Flex是基于ActionScript 3.0的开放源代码框架,主要应用于构建可在多种...
`o`对象是在`<mx:Script>`标签中声明的,并通过`{o}`数据绑定语句传递给`CustomButton`的`customObject`属性。在`createChildren()`方法中,如果尝试访问`o`,它可能尚未被赋值,因为初始化阶段尚未完成。 解决这个...