`

Flex中State和ViewStack的区别

    博客分类:
  • Flex
阅读更多

最近在一个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使用viewstack切换页面的例子

    在Flex 4中,ViewStack组件继承自Container类,支持布局管理器,使得开发者可以轻松地组织和控制子组件的显示。在"flex使用viewstack切换页面的例子"中,我们可能看到以下关键点: 1. **创建ViewStack组件**:首先...

    Flex viewstack切换

    Flex 实现viewstack简单切换。

    flex sample-跳转

    在Flex中,ViewStack是一个非常重要的容器控件,它允许你在应用程序中实现页面间的导航和切换效果。在这个名为"flex sample-跳转"的项目中,我们可以深入探讨Flex中的ViewStack控件以及与其相关的开发技巧。 ...

    FLEX入门实例--------transition,state的综合运用

    本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 首先,让我们深入理解`transition`和`state`的概念: 1. **Transition(过渡效果)**: 过渡...

    Flexstore源码解析1 ViewStack+ToggleButtonBar实现幕布特效

    ViewStack是ActionScript和Flex中的一种容器类,它包含一系列的可视组件,这些组件在同一时间只能有一个可见。ViewStack通过改变其子组件的可见性来实现页面之间的切换效果,这使得它非常适合用来创建类似幻灯片或...

    MXViewStackEffectExample FLEX切换效果

    理解这些效果的工作原理,包括它们是如何被触发,如何计算动画时间和如何改变ViewStack中组件的可见性,将有助于你掌握Flex中的动态效果创建。 此外,了解如何在ActionScript中使用内置的Effect类,如Fade、Slide或...

    Flex4 AIP 中文说明

    7. **组件层次结构**:Flex4 改进了组件层次结构,引入了ViewStack和LayoutManager等新概念,帮助开发者更好地管理组件的布局和显示顺序。 8. **模块化开发**:Flex4支持模块化开发,开发者可以将应用拆分为多个...

    深入浅出flex中文教程

    Flex是Adobe公司开发的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript和MXML语言,提供了强大的图形用户界面设计工具和编程模型。本教程将深入浅出地探讨Flex的...

    利用viewstack组件实现各个子组件之间的跳转和数据传递

    在本文中,我们将深入探讨如何使用ActionScript 3(AS3)中的ViewStack组件来实现在Flex应用程序中各个子组件之间的动态切换以及数据传递。ViewStack是Adobe Flex提供的一种容器,它允许用户在多个子组件之间进行...

    Flex视图切换,自定义控件Demo.rar

    在Flex中,视图切换和自定义控件是构建用户界面时的重要技术,它们极大地增强了用户体验和交互性。 视图切换是Flex应用程序中常见的功能,允许用户在多个界面或工作区之间进行导航。这在多页面或模块化的应用中非常...

    使用Flex4.5开发Android应用程序

    在本文中,我们将深入探讨如何使用Adobe Flex 4.5框架来开发针对Android操作系统的应用程序。Flex是一款强大的、基于ActionScript的开源开发工具,它允许开发者创建富互联网应用(RIA)以及跨平台的移动应用。Flex ...

    FLEX 3D螺旋相册

    在Flex中,我们可以使用MXML或ActionScript来实现3D效果,例如使用`<mx:ViewStack>`或`<mx:Canvas>`组件进行3D布局,并通过`translate3D()`、`rotate3D()`等函数控制对象的位移和旋转。在实现3D螺旋相册时,图片会...

    自定义ActionBar外观(flex4手机应用)

    7. **调试和优化**:在开发过程中,使用Flex的调试工具如Flex Builder或IntelliJ IDEA的Flex插件进行编译和测试,确保在不同设备和屏幕尺寸上的表现良好。 通过以上步骤,我们可以实现一个完全符合设计需求的自定义...

    Flex详细文档.pdf

    - **CSS**: CSS用于控制Flex应用程序中的样式和布局,可以通过外部.css文件或者内联样式来应用。 ##### 2. MXML与ActionScript的使用 - **MXML注释**: MXML中的注释使用`<!-- 注释内容 -->`的形式。 - **...

    flex 图片浏览,flex图片滚动效果

    7. **响应式设计**:考虑到不同设备的屏幕尺寸,Flex项目通常会采用响应式设计,通过`ViewStack`或`states`来适应不同分辨率和方向。 8. **皮肤自定义**:Flex允许开发者自定义组件外观,以创建独特的图片浏览器...

    Flex特效包org

    而"org.efflex.viewStackEffects.*"则扩展了ViewStack的功能,添加了各种视觉效果,如淡入淡出、滑动、缩放等,使得在ViewStack中切换视图时能够呈现出丰富的动画效果,这些效果不仅限于简单的显示和隐藏,而是通过...

    flex3 tabnavigator一个很好的例子

    这个例子可能是为了展示如何在Flex3中有效地使用TabNavigator来组织和管理用户界面。 在Flex3中,TabNavigator组件是Container类的一个子类,允许用户通过点击不同选项卡来切换内容。它的主要特点包括自定义选项卡...

    Flex 3D特效

    Flex 3D特效是Adobe Flex框架中用于创建三维(3D)用户界面和动画效果的技术。Flex是一款基于ActionScript和MXML的开源开发工具,它允许开发者构建富互联网应用程序(RIA)。在本案例中,"Flex 3D特效"特别关注了...

Global site tag (gtag.js) - Google Analytics