最近在一个Flex遗留系统上工作,Flex部分承担的主要是用户注册的业务。
用户注册需要多个步骤,比如填写完基本信息,通过验证之后,来到联系信息填写表单,等等。步骤之间的切换通过改变当前页面的state来实现:State控制不同控件的显示、掩藏等。
直觉不应该这么实现,今天看了《Flex 3权威指南》 之后,终于找到了答案:ViewStack才是这种场景的正确实现方式。
State和ViewStack虽然都可以用来实现上述的场景,但使用state方式的问题在于它不是为这种场景设计的实现方式。所以,在实现过程中可能会非常痛苦。
以下是State和ViewStack的一些区别:

|
State |
ViewStack |
使用场景 |
一个View的不同状态。比如一个页面在普通用户登录
时只能看到概要信息,而当管理用户登录时可以看到
详细信息,这是同一个view的两种不同状态。
|
用来控制差异很大的View之间的跳转和变迁。比如一个用户注册过程中的各个步骤。
|
技术实现 |
1. 需要一次初始化所有的components。
2. 基本上背后是一个MXML,内部component的较小变化。
3. 同上,基本对应一个数据。
|
1. 可以使用creationPolicy参数来控制延迟初始化。比如可以让stack中的每个view
在导航到它时才初始化。
2. 多个MXML之间的转移。
3. 同上,对应多个数据。
(当然,多个MXML和多个数据都不是必须的)
|
-- EOF --
分享到:
相关推荐
本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 首先,让我们深入理解`transition`和`state`的概念: 1. **Transition(过渡效果)**: 过渡...
在Flex开发中,页面跳转和数据绑定是两个核心概念,它们对于构建动态且交互性强的应用至关重要。让我们分别深入探讨这两个主题。 首先,Flex页面跳转。在Flex中,有多种方式来实现场景间的切换: 1. **ViewStack...
8. **状态管理**:Flex支持多种状态管理策略,如ViewStack、State和Skin State,帮助开发者管理不同场景下的界面状态,实现界面的灵活切换。 9. **性能优化**:在开发大型企业应用时,优化性能是关键。这包括减少...
在State Changes事件中添加和删除事件监听器 11.11节. 添加视图States到Flash组件 11.12节. 处理StateChange 事件 11.13节. 动态生成States和Transitions 11.14节. 创建State的自定义动作(action) 第十二章. 特效...
这本书由作者Dason编写,内容覆盖了Flex 3中的多种组件及其用法,并通过实际案例帮助读者更好地理解和掌握这些组件的应用场景和技术细节。 #### 二、基础知识 在深入了解各个组件之前,我们需要先了解Flex 3的一些...
1. a book Developing Flex Applications 2. a web page viewer for doc88 ebt 3. a DDA downloader for doc88.com CONTENTS PART I: Presenting Flex CHAPTER 1: Introducing Flex. . . . . . . . . . . . . . ...