<![CDATA 和 ]]>语法是为了告诉XML其中的任何东西都不需要做XML解析。在Script标签中添加CDATA块并不是必须的,但是加入你使用像 < 的符号,XML解析器会认为你正在写一个新的标签!
将下面的代码添加到 CDATA 块中:
- import mx.collection.ArrayCollection;
- private var _dataProvider:ArrayCollection;
- public function set dataProvider( value:ArrayCollection ) : void
- {
- _dataProvider = value;
- }
- public function get dataProvider() : ArrayCollection
- {
- return _dataProvider;
- }
这是编写一个属性的标准方式——使用set和get函数,并且变量值和函数名是一样的,只是前面加了一个下划线。有时候你可能会看到这种方式被称作后台变量(backing variable)。
这时候你可以测试一下组件了,而且可以将dataProvider和change添加到组件标签中;尽管它们不会起到任何作用。
当我思考这个组件的时候,我想到要像为ComboBox提供数据一样为这个组件提供数据。下面是一个示例:
- [ {label:"Apples", value:1}, {label:"Oranges", value:2}, etc. ]
你可以添加所有你想要让标签(Label)显示的数据,接下来我将告诉你如何实现这个功能。
commitProperties
到现在为止,组件并不知道如何在LinkButton中显示数据。所以我们需要一些ActionScript代码。将下面的代码添加到Script块中:
- override protected function commitProperties() : void
- {
- super.commitProperties();
- // we'll fill this in below
- }
|