Передача свойств в пользовательский компонент в Flash Builder 4 - PullRequest
1 голос
/ 07 сентября 2010

Я пытаюсь передать некоторые свойства компоненту, который я создал в Flash Builder 4. В моем примере ниже я хочу передать свойство "label", чтобы обновить свойство label для Button.

Любая помощь будет принята с благодарностью.Заранее спасибо.

// MyApp.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:local="*">
    <fx:Script>
        <![CDATA[
            protected function buttonText():void
            {
                myButton.label = 'Clicked!';
            }
        ]]>
    </fx:Script>
<local:MyComp id="myButton" label="My Button" click="buttonText()"/>
</s:WindowedApplication>

// MyComp.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx"
         width="400" height="300">
    <s:Button/>
</s:Group>

1 Ответ

2 голосов
/ 07 сентября 2010
<fx:Script>
    <![CDATA[
        private var _label:String;

        public function get label() : String {
          return _label;
        }
        public function set label(value:String) : void {
          _label = value;
          myButton.label = value;
        }

        protected function buttonText():void
        {
            myButton.label = 'Clicked!';
        }
    ]]>
</fx:Script>

Это создает привязку по умолчанию между свойством label вашего элемента управления и свойством label myButton.label. Вы также можете использовать метатег [Bindable] в получателе свойства label.

В любом случае вы просто установите свойство label вашего компонента, и значение метки myButton будет отражать новое значение.

...