云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          ?

          在Flex的開發過程中,尤其是在使用Cairngorm的時候,總會遇到需要在Model的屬性值改變后,需要調用一個指定的函數。傳統的解決方法是使用一個Setter方法,在這個方法中首先對屬性賦值,然后調用指定的函數,比如:

          ---------------------------
          [ChangeEvent("deleteEnabledChange")]
          public function get deleteEnabled() : Boolean {
          return _deleteButtonVisible;
          }

          public function set deleteEnabled(value : Boolean) : Void {
          _deleteButtonVisible = value;
          SimpleButton(deleteButton)._visible = false;
          dispatchEvent(new Event("deleteEnabledChange", this));
          }
          --------------

          但是現在我們有一個更簡潔的解決之道
          首先添加這樣一個類
          package com.adobe.ac.util
          {
          ?? public class Observe
          ?? {
          ????? public var handler : Function;
          ?
          ????? public function set source( source : * ) : void
          ????? {
          ???????? handler.call();
          ????? }
          ?? }
          }
          然后就可以使用這個作為標簽了。
          <util:Observe source="{ model.myProperty }"
          ????????????? handler="{ this.myFunction }"/>
          使用了這樣的一個標簽后,今后嘦是對model.myProperty進行賦值,就會調用myFunction
          這個號稱世上最小的標簽是不是很好用???




          評論

          # re: Cairngorm中Model數據變化后如何自動調用一個自定義函數?[未登錄]  回復  更多評論   

          2007-04-13 10:06 by 永恒
          呵呵,相當巧妙的方法啊

          # re: Cairngorm中Model數據變化后如何自動調用一個自定義函數?  回復  更多評論   

          2008-05-16 02:32 by iptton
          這樣就有點不厚道了吧。。代碼抄別人的也不注明...

          # re: Cairngorm中Model數據變化后如何自動調用一個自定義函數?  回復  更多評論   

          2009-01-12 11:18 by QQ124294272
          巧個鬼啊,還不如直接在MODEL中用回調,

          # re: Cairngorm中Model數據變化后如何自動調用一個自定義函數?  回復  更多評論   

          2013-07-11 20:58 by lobtao
          直接用回調函數
          主站蜘蛛池模板: 赞皇县| 淅川县| 滨州市| 循化| 建德市| 扎兰屯市| 柳林县| 台州市| 嘉峪关市| 晋城| 嘉荫县| 衢州市| 旌德县| 耒阳市| 潮安县| 临沂市| 乌审旗| 托里县| 临洮县| 项城市| 新乡市| 二连浩特市| 嘉善县| 定远县| 柏乡县| 曲水县| 垦利县| 宜丰县| 天峻县| 鄱阳县| 牟定县| 武平县| 曲靖市| 马边| 靖安县| 宜都市| 白玉县| 开远市| 留坝县| 通河县| 永嘉县|