Flex 数据易犯错误: 常见误用和错误

在家上网赚钱更容易

忘记解除和承担内查泄漏风险

 

你可以在 MXML 中使用 标记或大括号以便实现绑定功能,然而这些方法将会产生开销。此外,你不能够使用这些技术去除绑定。如果你希望对高性能应用程序进行优化,你可以使用 BindingUtils 类来绑定你的对象。 BindingUtils 类的使用方式有两种:

 


  • bindProperty() 方法是用于绑定共有属性的静态方法。
  • bindSetter() 方法是用于绑定setter函数的静态方法。

 

让我们来看一下bindProperty 方法签名:

 

public static function bindProperty(

     site:Object, prop:String,

     host:Object, chain:Object,

     commitOnly:Boolean = false,

     useWeakReference:Boolean = false):ChangeWatcher

 

站点和主机参数分别表示目的对象。当处理程序只基于承诺更改事件(committing change event)调用时,你可以将 commitOnly 设置为true;而当处理程序能够基于承诺和非承诺更改事件(committing and non-committing change event)调用时,你可以将commitOnly 设置为 false(默认设置)。

 

useWeakReference 参数允许你定义到主机的引用是strong还是weak。strong 引用(默认) 能够防止主机被垃圾收集。而weak 引用不能做到这一点。下面的范例包含一个text输入程序和一个简单组件。当对 TextInput 控件进行预初始化时,调用使用 bindProperty 方法的 preinitializeHandler() 函数。

 

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

   xmlns:s="library://ns.adobe.com/flex/spark"



   xmlns:mx="library://ns.adobe.com/flex/mx"

   minWidth="1024" minHeight="768">

      <fx:Script>



         <![CDATA[

            import mx.binding.utils.BindingUtils;

            import mx.events.FlexEvent;

                                 

            protected function preinitializeHandler(event:FlexEvent):void



            {

               BindingUtils.bindProperty(label, "text", textInput, "text");

 

} ]]> </fx:Script>

   

      <s:layout>

         <s:VerticalLayout/>

      </s:layout>    

                  

      <s:TextInput id="textInput" preinitialize="preinitializeHandler(event)"
/>





      <s:Label id="label" /> 



</s:Application>

在家上网赚钱更容易

你可能感兴趣的:(xml,Flex,Adobe)