Flex 页面切换如何传值

    利用Cairngorm框架,页面间导航使用NavigationEvent函数,但是这个导航函数只能接受导航的页面类的字符串,而参数如何传递呢?有人说这个可以再发一个事件,然后把数据放在事件中,也有人说可以做一个全局的变量,切换前进行设置,然后在切换后的页面使用。但是无论怎样,都会有一个问题:页面切换和参数事件,页面切换和全局变量之间的先后顺序。如果页面没有切换完,页面还没有初始化,它怎么监听参数事件;如果页面已经切换完成,但是全局变量还没来得及变化,那么页面的上的数据肯定不是当前的。

    Flex中的绑定机制,给了我们解决问题的答案。

 

    这里选择第二种方案,利用全局变量传值。在跳转后的页面加一个属性变化的监听器。

  

use namespace UFAF_internal;
override UFAF_internal function set view(value:DisplayObject):void
{
	super.UFAF_internal::view = value;
	init();
}

 

private function init():void
{
    ChangeWatcher.watch(model,"executeId",ChangedHandler);
}
private function ChangedHandler( event:PropertyChangeEvent ):void
{
    var civ:EnrollmentDetailView = enrollmentDetailView;
    if(model.executeId){
	civ.executeId = model.executeId;
    }
}

 

注意:

    一是这个监听必须在页面实例创建的时候,而不是页面已经加载的时候;

    二是在处理函数中,不能操作页面的元素,因为页面还没完成初始化呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值