Flex中State和ViewStack的区别

最近在一个Flex遗留系统上工作,Flex部分承担的主要是用户注册的业务。

 

用户注册需要多个步骤,比如填写完基本信息,通过验证之后,来到联系信息填写表单,等等。步骤之间的切换通过改变当前页面的state来实现:State控制不同控件的显示、掩藏等。

 

直觉不应该这么实现,今天看了《Flex 3权威指南》 之后,终于找到了答案:ViewStack才是这种场景的正确实现方式。

 

State和ViewStack虽然都可以用来实现上述的场景,但使用state方式的问题在于它不是为这种场景设计的实现方式。所以,在实现过程中可能会非常痛苦。

 

以下是State和ViewStack的一些区别:

 

 

StateViewStack
使用场景

一个View的不同状态。比如一个页面在普通用户登录

时只能看到概要信息,而当管理用户登录时可以看到

详细信息,这是同一个view的两种不同状态。

用来控制差异很大的View之间的跳转和变迁。比如一个用户注册过程中的各个步骤。

技术实现

1. 需要一次初始化所有的components。

2. 基本上背后是一个MXML,内部component的较小变化。

3. 同上,基本对应一个数据。

1. 可以使用creationPolicy参数来控制延迟初始化。比如可以让stack中的每个view

在导航到它时才初始化。

2. 多个MXML之间的转移。

3. 同上,对应多个数据。

(当然,多个MXML和多个数据都不是必须的)

 

 

-- EOF --

 

PS: 我还是Flex菜鸟一个,理解不当之处请朋友们指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值