- 2008-06-15 (日) 20:09
- ActionScript
MXMLコンポーネントを自作して、その中でさらにMXMLを内包しているときとかその中の変数をどう初期化するのか。
気づいたとき、たいした話じゃなかったなあというか、まだまだActionScriptを分かってないなあと思いました。
HogeHBox:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:ns1="sample.*">
<mx:Script>
<![CDATA[
public var hoge:String;
]]>
</mx:Script>
</mx:HBox>
FooCanvas:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
public function init():void {
this.hogehoge.hoge = "test";
}
]]>
</mx:Script>
<ns1:HogeHBox id="hogehoge"></ns1:HogeHBox>
</mx:Canvas>
メインコード:
var foo:FooCanvas = new FooCanvas();
foo.init();
とかやるとhogehogeが初期化されていなくて怒られると。で、これはFooCanvasを
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
[Bindable]
public var hogeString:String;
public function init():void {
this.hogeString = "test";
}
]]>
</mx:Script>
<ns1:HogeHBox id="hogehoge" hoge="{hogeString}"></ns1:HogeHBox>
</mx:Canvas>
っていう感じでhogehogeのmxmlのプロパティとして与えておけばいいという。基本なんですね、きっと。
以上
関連記事
- Newer: C++トリビアルメモ4 テンプレートと可変長と
- Older: Google Developer Day 2008 参加報告
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://red-treasure.com/report/wp-trackback.php?p=236
- Listed below are links to weblogs that reference
- ActionScript トリビアルメモ 2 ~初期化とか from コスミー報告書[社外秘]