偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flex數(shù)據(jù)綁定中難以發(fā)現(xiàn)的無聲錯誤

開發(fā) 后端
本文向大家介紹一下Flex數(shù)據(jù)綁定中難以發(fā)現(xiàn)的無聲錯誤,當(dāng)構(gòu)建Flex或者Adobe AIR程序時,將一個對象的值自動的傳遞給另一個對象這種處理是Flex數(shù)據(jù)綁定最常用并最有用的特征之一。

這里向大家描述一下在使用Flex數(shù)據(jù)綁定時常見錯誤,F(xiàn)lex數(shù)據(jù)綁定有時會減緩程序的初始化,并且當(dāng)開發(fā)者不是完全理解數(shù)據(jù)綁定的機制是如何工作的話,會引起一些開發(fā)者意想不到的問題。

Flex數(shù)據(jù)綁定陷阱

當(dāng)構(gòu)建Flex或者Adobe AIR程序時,將一個對象的值自動的傳遞給另一個對象這種處理是Flex數(shù)據(jù)綁定最常用并最有用的特征之一。盡管如此,同時Flex數(shù)據(jù)綁定會減緩程序的初始化,并且當(dāng)開發(fā)者不是完全理解數(shù)據(jù)綁定的機制是如何工作的話,會引起一些開發(fā)者意想不到的問題。***的解決方法及是確保你正確的使用了它并且在只有需要它的時候才使用它。

***條:難以發(fā)現(xiàn)的無聲錯誤

這有些綁定操作似乎已經(jīng)工作,但是你***卻沮喪的發(fā)現(xiàn)沒有并且無從下手修改的例子。

在綁定表達式或者在綁定框架里調(diào)用綁定方法時拋出的異常和錯誤,只會默默的捕獲。因此你將在Flash Player調(diào)試版本中看不到任何運行時錯誤。不僅綁定沒有工作,而且沒有任何錯誤顯示。為什么這些錯誤被無聲捕獲?代碼實現(xiàn)綁定機制,在Flex數(shù)據(jù)綁定發(fā)生前需要幾個先決條件。綁定機制會吞噬掉任何錯誤以防止在運行時拋出運行時異常。如果你不希望在你的程序中看到這些可能出現(xiàn)的意外錯誤,這是一個很好的事情。

思考下下面的簡單綁定例子:

  1. <?xml version="1.0" encoding="utf-8"?>    
  2.  
  3. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"    
  4.  
  5.    xmlns:s="library://ns.adobe.com/flex/spark"    
  6.  
  7.    xmlns:mx="library://ns.adobe.com/flex/mx"    
  8.  
  9.    minWidth="1024" minHeight="768"                                        
  10.  
  11.    preinitialize="handlePreinitialize()">                            
  12.  
  13.  
  14.  
  15.    <fx:Script>    
  16.  
  17.       <![CDATA[    
  18.  
  19.          [Bindable]    
  20.  
  21.          private var xml:XML =     
  22.  
  23.          <users>    
  24.  
  25.             <user>    
  26.  
  27.                <name>EladElrom</name>    
  28.  
  29.                <address>1 Wall Street</address>    
  30.  
  31.             </user>    
  32.  
  33.          </users>;       
  34.  
  35.                                    
  36.  
  37.          protected function handlePreinitialize():void    
  38.  
  39.          {   
  40.             xml = null;    
  41.  
  42.             //BindingManager.debugBinding("label.text");    
  43.          }    
  44.  
  45.       ]]>    
  46.  
  47.    </fx:Script>                           
  48.  
  49.    <s:Label id="label" text="{xml.user.name}"/>    
  50. </s:Application> 
  51.  

 我已經(jīng)添加了xml變量綁定到Label組件。這些代碼會運行的很好;但是,我在組件預(yù)初始化時將xml變量設(shè)置為null。這個事件將在組件初始化序列開始之前被派發(fā),此時Label組件還沒有被設(shè)置。這個xml變量被設(shè)置為null,因此沒有name屬性在xml對象上。如果你運行這個程序,你會發(fā)現(xiàn)Flex數(shù)據(jù)綁定沒有發(fā)生也沒有提示任何錯誤。

原文地址:http://www.adobe.com/devnet/flex/articles/databinding_pitfalls_03.html

【編輯推薦】

  1. 解析Flex數(shù)據(jù)綁定的幾種方式
  2. Flex數(shù)據(jù)綁定技巧
  3. 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
  4. 揭開Flex正則表達式的神秘面紗
  5. Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況 
責(zé)任編輯:佚名 來源: adobe.com
相關(guān)推薦

2010-07-28 13:24:20

Flex數(shù)據(jù)綁定

2010-07-27 13:13:33

Flex數(shù)據(jù)綁定

2010-07-28 13:31:10

Flex數(shù)據(jù)綁定

2010-07-28 13:11:13

Flex數(shù)據(jù)綁定

2010-07-30 10:45:08

Flex數(shù)據(jù)綁定

2010-07-28 13:40:44

Flex數(shù)據(jù)綁定

2010-08-12 11:34:15

Flex數(shù)據(jù)綁定

2010-07-30 09:08:21

Flex數(shù)據(jù)綁定

2010-08-05 15:06:19

Flex數(shù)據(jù)綁定

2010-07-30 09:16:24

Flex數(shù)據(jù)綁定

2010-08-10 10:56:39

2010-07-28 13:54:42

Flex數(shù)據(jù)綁定

2010-07-30 10:37:23

Flex數(shù)據(jù)綁定

2010-07-28 13:48:49

Flex數(shù)據(jù)綁定

2010-08-12 11:05:33

Flex數(shù)據(jù)綁定

2010-07-30 10:53:53

Flex數(shù)據(jù)綁定

2010-07-30 10:23:46

Flex數(shù)據(jù)綁定

2010-08-12 10:43:19

Flex數(shù)據(jù)綁定

2010-08-11 14:09:07

Flex3.0數(shù)據(jù)綁定

2010-07-30 10:30:58

Flex數(shù)據(jù)綁定
點贊
收藏

51CTO技術(shù)棧公眾號