Flash MX 2004中的DataHolder组件可以通过保存数据实现组件之间的数据传递。与DataSet组件相比,DataHolder的作用相对比较单一。最初DataHolder组件只有一个默认的可绑定属性,用户可根据需要增加更多的属性。
数据绑定,非常简单,就是让你绑定一个组件的属性到另一个组件,以便于当其中一个发生变化时,另一个也很好的随之变化。对一个开发者而言,这一功能非常有用。
一个例子先:
1)建一个新文件;
2)拖一个DataHolder和一个TextInput组件到Stage,分别命名为dataholder_dh,show_txt:


3)选中datahoder_dh,在组件属性面板里选Schema标签,点左上角那个大的"+"增加一个属性,在下面的file name栏里填:nameString, 并在Data Type栏选:String:

4)保持dataholder_dh的选取中状态,打开Bindings标签,点"+"按钮,在弹出的Add Binding窗口中选: nameString:String,点ok:

5)点下面的Bound to一栏,在弹出的Bound to窗口中选TextInput,,并在右边选择text:String,点ok:


6)在时间轴第一帧写:
dataholder_dh.nameString="test";
7)ctrl+enter: 在show_txt中你就会看到"test"字样
说明:上个例子就是给DataHolder创建一个nameString属性来存储数据(字符串"test",然后把这个属性绑定到TextInput的text属性,那么TextInput的text属性值就是DataHolder的nameString的值。
类似的,你还可以给DataHolder增加多个属性,并赋于不同的Data Type,那么就可以把数据绑到不同的组件中,至于数据源,可以自定义,可以是数组,也可以是其它类型的数据源(xml,database...)
再说的通俗点: View组件(Button,label.etc)只负责把结果显示出来,具体到哪个组件该显示哪些内容,该怎么显示,则由DataHolder来控制。(当然,还得有自定义类来帮助完成)DataSource---->DataHolder------->View Components 自己的理解,还望指正。
http://www.macromedia.com/devnet/mx/flash/articles/databinding.html
这里面讲了一些 DataHoldler的用法,但没有讲与Flash Remoting的结合,以及与xml,database等数据源的交互,入门不错。