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 ......
业内著名互联网咨询机构iResearch艾瑞咨询调查显示, 随着诸如开心厨房类网络游戏, 优酷网类视频分享网站, 以及新浪财经, 华尔街股市分析系统和各类诱人的网络广告等富互联网应用系统的急剧增加, 作为最佳富互联网应用解决方案的Flex技术人才进入严重奇缺阶段. 据可靠数据, 目前国内各类Flash设计师和Fle ......
1.java
Java代码
package com;
public class LoginDemo {
public String validate(String username,String password){
&nb ......
忘记解除和承担内查泄漏风险
你可以在 MXML 中使用 标记或大括号以便实现绑定功能,然而这些方法将会产生开销。此外,你不能够使用这些技术去除绑定。如果你希望对高性能应用程序进行优化,你可以使用 BindingUtils 类来绑定你的对象。 BindingUtils 类的使用方式有两种:
bindProperty() 方法是用于绑定共有属性的静态方 ......
丢失静默错误(SILENT ERROR)
在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼并且不知道如何进行处理。
由绑定表达式抛出的、或在绑定框架调用的绑定函数中出现的异常和错误可以被静默捕获。因此,你将不会看到运行时异常,而这在 Flash Player 的调试版本中是能够看到的。这时,不仅绑定操作不能工作,而 ......