首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex中State跟ViewStack的区别

2012-10-28 
Flex中State和ViewStack的区别最近在一个Flex遗留系统上工作,Flex部分承担的主要是用户注册的业务。?用户注

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菜鸟一个,理解不当之处请朋友们指正。

热点排行