使用外部的xml数据
打开前面完成的EComm.mxml文件,代码如下
删除model部分
使用外部的xml文件提供数据
使用如下代码引入外部xml文件
<mx:Model id="groceryInventory" source="assets/inventory.xml"/>
creationComplete事件
在<mx:Application>上添加creationComplete事件,代码如下
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="prodHandler(groceryInventory)">
当程序中所有的子控件、子容器都建立好以后,就会回到creationComplete这个事件。
编写prodHandler()方法
private function prodHandler(theItems:Object):void {
trace(theItems.prodName);
}
执行prodHandler方法时,接收参数groceryInventory,groceryInventory是上面model定义的外部xml数据结构,trace(theItems.prodName),是在控制台上打印出groceryInventory的prodName信息。
建立一个自定义的ActionScript类
新建一个Product的ActionScript class,代码如下
[Bindable]在类名上面表示绑定这个类,以便于在.mxml文件中的控件可以使用这个类。
新建一个ShoppingCartItem的ActionScript类,代码如下
建立购物车类,新建一个ShoppingCart的ActionScript类,代码如下
控件中使用自定义的ActionScript类数据
先定义类对象
[Bindable]
private var theProduct:Product;
通过prodHandler方法创建该对象。
由于上面直接绑定了,所以在控件中可以直接使用,如下
添加到添加物品到购物车的方法,如下