首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可绑定变量不随viewstack / swiz更新

可绑定变量不随viewstack / swiz更新
EN

Stack Overflow用户
提问于 2010-11-24 00:56:52
回答 1查看 674关注 0票数 0

我正在使用Swiz框架,并尝试使用bindable属性更新我的视图堆栈的selectedIndex。它到达我的事件处理程序,该处理程序更新了bindable变量,但主应用程序文件的viewstack从未意识到这一点。可能的问题是什么?

thx

-Mike

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

主应用程序文件

代码语言:javascript
复制
<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

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

代码语言:javascript
复制
    [Bindable] 
    public  var message:String = "";

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

}

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

控制器

包com.reg.controller {

代码语言:javascript
复制
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;

    }


}

}

EN

回答 1

Stack Overflow用户

发布于 2011-01-18 07:07:52

就在上个星期,我被这个问题所困扰。

将您的[Bindable]标记放在其他标记之前。由于某些原因,除非您首先放置[Bindable]标记,否则Flex编译器不会合并适当的PropertyChangeEvent调度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4258632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档