Flex setter 陷阱
这样的陷阱,谁能不中招?
Flex的setter大家都用过吧,看例子:
主程序:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
function init():void{
var c:Card = new Card;
c.count=0;
}
]]>
</mx:Script>
</mx:Application>
Card.as:
package
{
import flash.events.EventDispatcher;
[Bindable]
public class Card extends EventDispatcher
{
private var _count:int=0;
public function get count():int{
return _count;
}
public function set count(n:int):void{
trace("Card count setter called");
this._count=n;
}
}
}
够简单吧,陷阱已经出现。
setter不能被调用!
如果把[Bindable]去掉,就可以了。
为什么呢?
纯BUG!
大概是因为[Bindable]属性的setter是依据 PropertyChangeEvent 驱动的,由于此例的默认值是0,赋值操作也是0,就干脆不调用了。
害了我一个小时啊!
相关文档:
eclipse一个项目中同时开发flex和j2ee的环境配置
因为工作需要,学了一周flex今天开始研究与服务器通信,选择了免费的BlazeDS。由于之前做项目用的是eclipse europa,就把flex builder 3 plugin直接安装到原有的eclipse上了,这样再配置的时候客户端编程用的flex和服务器端的J2EE就能整合到一个工程下了,希望对于暂时由js ......
拖动水平滚动条来改变图片大小。
<?xml version="1.0"?>
<!--
Simple example to demonstrate the HSlider control.
水平拖动条。
MyShareBook.cn 翻译   ......
之前一直没在意父容器和子容器各自的生成次序,知道在项目中遇到一种case:初始化界面时父容器初始化的内容由子容器先初始化再触发,但是父容器必须在初始化时就已经加上了对子容器的监控。这就造成一对矛盾,既想先生成子容器又想先生成父容器。
先自己写段代码测试一下生成顺序,父容器
<?xml version="1.0" ......
传统的在Flex工程中添加Module的方法是:在FlashBuilder中右键工程目录->Porperties->Flex Modules, 然后就可以add/edit/remove需要的module了,
但问题 是无论添加多少module都要点击add按钮一个一个添加! 像我们的项目一个demo就用了好几十个module,一个一个添加可要烦死了
网上搜‘批量添加module&rsquo ......