2013/10/11

Flexのメタデータ[Bindable]について

前回、データバインディング(data binding)について紹介しました。
http://dev-cat.blogspot.com/2013/10/flexdata-binding.html

今回はBindableというものを紹介しますが、これはデータバインディングと基本同じものです。前回のデータバインディングはTextInputのtextなど最初からデータバインディングの機能を持ったプロパティなどに対して使うことが出来るものでしたが、この[Bindable]自分が作った変数やプロパティ、クラスにも同じようにデータバインディング機能を付加することができるというものです。

下のコードで[Bindable]を書かないと警告がでますし、ボタンをクリックしてもラベルの値が変化しないのが分かるかと思います。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      applicationDPI="160">
 <fx:Script>
  <![CDATA[
   // 自前の変数
   [Bindable]
   private var strText:String = "クリック前";
  ]]>
 </fx:Script>
 
 <!-- UI COMPONENTS -->
 <s:VGroup horizontalCenter="0" verticalCenter="0">
  <s:Label id="label"
     text="{strText}"/>
  <s:Button width="100" height="50"
      label="クリック"
      click="strText = 'クリック後';"/>
 </s:VGroup>
</s:Application>

http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_8.html
http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_2.html
http://tech.nitoyon.com/ja/blog/2007/04/16/bindable-intro/
http://secondlife.hatenablog.jp/entry/20070326/1174904664

0 件のコメント:

コメントを投稿