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,就干脆不调用了。
害了我一个小时啊!
相关文档:
业内著名互联网咨询机构iResearch艾瑞咨询调查显示, 随着诸如开心厨房类网络游戏, 优酷网类视频分享网站, 以及新浪财经, 华尔街股市分析系统和各类诱人的网络广告等富互联网应用系统的急剧增加, 作为最佳富互联网应用解决方案的Flex技术人才进入严重奇缺阶段. 据可靠数据, 目前国内各类Flash设计师和Fle ......
flashbuilder中可以建立flex工程与actionscript工程.
flex工程内可以使用mxml是完成设计工作.
actionscript工程建立时默认只有:
playerglobal.swc
flex.swc
utilities.sec
playerglobal.swc
这几个类库.没有framework.swc,就无法使用Button等控件了.
解决方案是 actionscript工程中加入framework.swc.
路径是 x:/A ......
Learning Flex in a week – Day1
Flex,Flash,Flash
Player,AIR概述
了
解Flex Builder
Flex
Builder工作空间
了
解Flex预编译组件
了
解MXML
组
件的数据绑定
处
理用户事件
了
解事件对象
使
用ActionScript添加事件侦听器
使
用HttpService获取数据 ......
1:http://bbs.9ria.com/viewthread.php?tid=44441
2:http://help.adobe.com/en_US/flex/using/WSA95C9644-B650-4783-B5C0-D2C7F95A23E3.html#WS46970071-A39D-49de-B881-66F639787305
3:http://flex4jiaocheng.com/blog/268
4:http://www.k-zone.cn/zblog/post/flash-builder-gumbo-customer-sparkskin.html
5:htt ......
原来是这样,
我一开始用的是flex_sdk_3.4.1.10084(Stable Builds),(由于sdk3.5有combobox的bug),但是在用RSL的时候,发现flash player 的AssetCache里就是没有swz,
原因是:我用的sdk是Stable Builds,它是没有swz的,
官网的解释是:
The Flex team dos not currently create signed versions of the major RSL ......