Flex 经验笔记二

  1. 向 Module 传递数据:
    好像只能传递些像 整型,字符型等简单类型的数据,
    也能传递像 json 这样的 Object 对象,但如果 Object 对象是从层的,其子级数据,好像也读取不到。

    function Alert 过,可以传递,但使用只能单参数使用,比如:
    public function tstFunc(par1, par2): void;

    在 Module 页设置一个 Function 成员变理;
    public var sucFunc:Function;

    在父级页面中:
    module.sucFunc = tstFunc;

    再在 Module 页面中执行 : sucFunc(par1, par2);

    就会发生错误,但是如果是单个参数的,就正常!

  2. 使用 FlexGlobals.topLevelApplication
    var app:Application = FlexGlobals.topLevelApplication as Application;

    现在 Application 下有个 public 的方法 funcTest;

    var tstFunc = FlexGlobals.topLevelApplication.funcTest as Function;
    tstFunc();

     

  3. 组件 bottom='0' 可使组件置底,可能需要其他的布局设置.

  4. HBox与Canvas容器表现不太一样. Hbox addChild后,如果内部组件高度比Hbox大,可能出现界面溢出情况(无法嵌入HBox,内部组件不能设置高度)

    但是Canvas好像不会这样。

  5. 在某些方面,mx组件表现似乎比spark还好点, 比如设置样式等。

  6. http://www.360doc.com/content/11/0630/16/3294720_130605401.shtml [flex预加载及Application初始化执行过程:]

  7. flex TextArea 换行处理 String.replace(/\r+/g, '');

  8. Alert.show 按钮显示 null的问题
    必须要在 application 主程序.mxml 处理定义import mx.controls.Alert

  9. flex 中 Array的concat方法,并不能马上形成新的array值

    需要赋值.
    arr = arr.concat(arr2);

  10. flex 的拷贝或克隆.
    第一方式:
    var copyObj:Object = ObjectUtil.copy(theObj);

    第二种叫做深度拷贝:

    var qClassName:String = getQualifiedClassName(object).replace("::", ".");

    这种方式在本地是可行的, 但如果通过BlazeDS传到java就会发生错误, 提示 相关类不存在,  运行eclipse console 就会提示 XXXX.xxClassName 不存在。

    网上是这么写的,据说比较保险:
    复制代码
    var objectType:Class = getDefinitionByName(qClassName) as Class;
    registerClassAlias(qClassName, objectType);
    var copier : ByteArray = new ByteArray();
    copier.writeObject(object);
    copier.position = 0;
    return copier.readObject();
    复制代码

    前面两种对于对象,或是对象中仅有包括简单属性的情况,才可能有效果。

    如果有个类里,即包括简单的如果整型,字符串这样的类型 ,又包括像数组 Array,甚至是事件的类型 Event, 就需要自己写方法,对类中的各种类型数据进行赋值了。
    如果这Array包含的是 这个 类的子集时,就需要使用递归操作了。

posted @   Weiseditor  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示