`
hallaw
  • 浏览: 58374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用XML的Data Binding时一点注意

阅读更多
直接贴代码,下面的绑定中myBooks.book.price 这个参数在函数计算中没有用到,但是没有这个参数,price这个域的变化并不会触发函数的重新计算。

也许有人会跟我一样,想当然的觉得price变了也算整个myBooks变:)

xml 代码
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application   
  3.     xmlns:mx="http://www.adobe.com/2006/mxml"   
  4.     width="500" height="470"  
  5. >  
  6.   
  7.     <mx:Script>  
  8.         <![CDATA[         
  9.             [Bindable] 
  10.             private var myBooks:XML =  
  11.                 <books> 
  12.                     <book ISBN="1590595181"> 
  13.                         <title>Foundation ActionScript Animation: Making Things Move</title> 
  14.                         <author>Keith Peters</author> 
  15.                         <amazonUrl>http://tinyurl.com/npuxt</amazonUrl> 
  16.                         <price>1</price> 
  17.                     </book> 
  18.                     <book ISBN="1582346194"> 
  19.                         <title>Send in the Idiots: Stories from the Other Side of Autism</title> 
  20.                         <author>Kamran Nazeer</author> 
  21.                         <amazonUrl>http://tinyurl.com/lo5ts</amazonUrl> 
  22.                         <price>2</price> 
  23.                     </book> 
  24.                 </books> 
  25.              
  26.             private function onClick():void 
  27.             { 
  28.                 myBooks.book.(@ISBN=="1590595181")[0].price = 10 
  29.             } 
  30.  
  31.             private function totalPrice(books:XML, price:String):int 
  32.             { 
  33.                 var total:int = 0; 
  34.                 for each(var item:XML in books.book) 
  35.                 { 
  36.                     total += Number(item.price); 
  37.                 } 
  38.                 return total 
  39.             } 
  40.         ]]>  
  41.     </mx:Script>  
  42.       
  43.     <mx:Panel   
  44.         title="Assigning XML data"  
  45.         paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10"  
  46.     >  
  47.         <mx:Button label="Button" click="onClick()"/>  
  48.         <mx:Label text="{totalPrice(myBooks,myBooks.book.price)}"/>  
  49.         <mx:Label text="{myBooks.book[0].price}"/>  
  50.   
  51.     </mx:Panel>  
  52. </mx:Application>  

<mx:application><mx:panel><mx:button label="Button" click="onClick()"><mx:label text="{totalPrice(myBooks,myBooks.book.price)}"><mx:label text="{myBooks.book[0].price}">     </mx:label>
</mx:label>

</mx:button></mx:panel></mx:application>
分享到:
评论
1 楼 hallaw 2007-09-11  
贴上来的代码死活不正常,没办法。。。。

相关推荐

    Android Data Binding

    本教程将深入探讨如何将Data Binding与RecyclerView结合使用,以实现更高效、更灵活的列表视图。 一、Android Data Binding基础 1. **概念理解**:Data Binding允许开发者在XML布局文件中声明数据绑定表达式,将UI...

    RSS-XML Data-Binding to Data Control with Row Limitations

    在"RSS-XML Data-Binding to Data Control with Row Limitations"的主题中,我们关注的是如何将RSS源中的XML数据绑定到网页上的数据控件,例如GridView或ListView,同时限制显示的行数,以提高用户体验并优化性能。...

    Android Data Binding 代码实战 demo

    本实战项目“Android Data Binding 代码实战 demo”将通过实现一个豆瓣电影搜索功能,展示如何在RecycleView中使用Data Binding来优雅地显示电影列表。 首先,我们需要理解Android Data Binding的基本概念。Data ...

    Android Data Binding实战-入门篇

    Android Data Binding是Google推出的一种强大的数据绑定库,它旨在简化Android应用中的UI逻辑,通过将数据绑定到XML布局文件中,使代码更加清晰、可读性更强,同时也减少了Activity或Fragment中的样板代码。...

    AdventureWorks Data Binding sample

    5. **数据绑定表达式**:VB.NET支持在XAML(Windows Presentation Foundation的标记语言)中使用数据绑定表达式,例如"{Binding Path=PropertyName}",这使得在UI设计时就能声明控件与数据源之间的绑定关系。...

    jaxb 2.0 java architecture for xml binding

    THE Java™Architecture for XML Binding (JAXB) provides a fast and convenient way to bind between XML schemas and Java representations, making it easy for Java developers to incorporate XML data and ...

    ADF的data binding

    这些信息存储在一个XML文件中,运行时根据此文件动态创建Binding Container实例。 4. **Binding Context**:Binding Context是整个应用程序的上下文,它包含所有Binding Containers和Data Controls的信息。Binding ...

    Android数据绑定Data Binding

    在布局XML文件中,我们可以使用`&lt;layout&gt;`根元素包裹整个布局,并通过`&lt;data&gt;`标签声明要使用的数据类。接着,可以通过`&lt;variable&gt;`标签为类的属性创建别名: ```xml &lt;data&gt; name="user" type=...

    AndroidDataBindingExample, Android Data Binding 代码实战.zip

    - 使用Data Binding后,Gradle会在编译时自动生成一个绑定类,包含UI组件的引用和绑定方法。 - 这降低了运行时的性能开销,提高了应用效率。 8. **优势**: - 减少样板代码,提高代码可读性和可维护性。 - 逻辑...

    安卓-Data Binding+RecyclerView打造可以选择的三级列表

    3. **定义布局文件**:使用Data Binding的语法,在XML布局文件中绑定数据。例如,三级列表项的布局文件中,可以直接绑定实体类的属性到UI元素,如TextView或ImageView。 4. **创建适配器(Adapters)**:为每一级列表...

    mel, XML Data Binding for C-开源

    "Mel, XML Data Binding for C-开源" 这个标题指出 Mel 是一个专门针对 C 语言的 XML 数据绑定库,并且它是开源的。数据绑定是一种编程技术,它允许程序员将应用程序的数据模型与 XML 文档结构关联起来,简化了 XML ...

    delphi中存取xml

    在本文中,我们将详细探讨如何在Delphi中使用内置的XML处理库——XML Data Binding和TXMLDocument来读取、写入和操作XML文件。 1. XML Data Binding Delphi中的XML Data Binding允许开发者将XML Schema(XSD)转换...

    JiBX - XML Data Binding for Java-开源

    JiBX(Java to XML Binding eXtensions)是一种高效的、开源的 XML 数据绑定框架,专为简化 Java 应用程序与 XML 数据之间的交互而设计。它允许开发者通过定义灵活的映射定义文件,将 XML 文档直接映射到现有的 Java...

    Spring MVC 学习笔记 十一 data binding

    当我们在URL路径中使用占位符时,可以使用`@PathVariable`来获取这些动态部分的值。例如: ```java @GetMapping("/users/{userId}") public User getUser(@PathVariable("userId") Long userId) { // ... } `...

    Delphi XML 权威指南

    接着,书中会详细讲解Delphi的XML处理库——XML Data Binding和MSXML(Microsoft XML Core Services),这两个库提供了强大的XML操作功能。XML Data Binding允许开发者直接将XML文档映射到Delphi对象,简化了数据...

    Castor的使用,如何将java object转换为xml

    2. **验证**:在将Java对象转换为XML时,可以使用Castor的验证功能检查数据是否符合预设的约束。 3. **JDBC支持**:Castor可以读取数据库的结果集并将其转换为XML,反之亦然。 4. **性能优化**:Castor提供了缓存...

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    这一过程通常通过XML解析器来完成,如JAXB(Java Architecture for XML Binding)或DOM4J等。JAXB提供了一种自动将XML文档映射到Java对象的机制,反之亦然。首先,我们需要定义一个JavaBean类,其属性与XML元素相...

    XmlPlus xsd2cpp : C++ XML Data Binding-开源

    通过XML Schema为C ++提供XML数据绑定。 功能:a)xsd2cpp-生成C ++ XML对象(X / O映射)b)XML I / O,即。 编组-解组(序列化-反序列化)c)往返保留处理说明和注释

    Data Binding - WPF .pdf

    总结来说,WPF数据绑定提供了一个简单且一致的方法来展示和交互数据,但实现时需要注意选择合适的绑定方式和优化性能。通过理解DependencyProperty与INotifyPropertyChanged的区别和各自的使用场景,开发者可以更加...

Global site tag (gtag.js) - Google Analytics