2010-11-23 34 views
0

我使用Swiz框架,我試圖用可綁定屬性更新我的viewstack的selectedIndex。它到達我的事件處理程序,它更新可綁定變量,但主應用程序文件的viewstack從未意識到它。可能是什麼問題?Bindable變量不與viewstack更新/ swiz

THX

-Mike

================================

主應用程序文件

<mx:Script> 
    <![CDATA[ 
     import reg.model.ApplicationViewModel; 
     import beyaz.reg.swiz.SwizBeans; 
     import org.swizframework.Swiz; 

     [Autowire(bean="applicationViewModel")] 
     [Bindable] 
     public var applicationViewModel:ApplicationViewModel; 

     private function preInitialize():void { 
      Swiz.loadBeans([ SwizBeans ]); 
     } 

    ]]> 
</mx:Script> 


     <mx:ViewStack id="theViewstack" **selectedIndex=" {applicationViewModel.mainViewIndex}"** width="100%" height="100%"> 
    <prescreen:Prescreen id="prescreenView"/> 
    <login:Login id="loginView"/> 
    <profile:Profile id="profileView"/> 

</mx:ViewStack> 

=================================

ApplicationViewModel

package com.reg.model { public class ApplicationViewModel { public static const PRESCREEN_VIEW:int = 0; public static const LOGIN_VIEW:int = 1; public static const PRSNL_INFO_VIEW:int = 2;

[Bindable] 
    public var message:String = ""; 

    [Bindable] 
    public var mainViewIndex:int = PRESCREEN_VIEW; 
} 

}

===========================

控制器

包COM .reg.controller {

import com.reg.model.ApplicationViewModel; 

import mx.collections.ArrayCollection; 
import mx.controls.Alert; 
import mx.events.DynamicEvent; 
import mx.rpc.events.FaultEvent; 
import mx.rpc.events.ResultEvent; 
import mx.core.Application; 

import org.swizframework.Swiz; 
import org.swizframework.controller.AbstractController; 

public class PrescreenController// extends AbstractController 
{ 
    public static const START_REGISTRATION:String = "startReg"; 

    [Autowire(bean="applicationViewModel")] 
    [Bindable] 
    public var applicationViewModel:ApplicationViewModel; 


    [Mediate(event="startReg")] 
    public function startReg():void 
      { 

       //CODE GETS TO HERE! 
       applicationViewModel.mainViewIndex = ApplicationViewModel.PRSNL_INFO_VIEW; 

    } 


} 

}

+0

有人嗎?任何人?當綁定變量時,我可以查找常見的陷阱嗎? – Mike6679 2010-11-24 06:03:31

回答

0

我上週剛剛遇到了這個問題。

將您的[Bindable]標記放在其他標記之前。出於某種原因,Flex編譯器不會在適當的PropertyChangeEvent調度中摺疊,除非先將[Bindable]標記放在第一位。