请教一个parsley问题,如何实现视图的切换或状态转换?

niss 2011-05-05 04:38:59
网上查了好久没有答案,可能我表述不清
其实就是用户界面先显示queryView查询条件视图,点击查询后queryView视图消失(或隐藏),界面显示resultView结果视图(加载进来或取消隐藏状态),这个怎么做到?我相信这两个视图不应该分成两个模块来做,那么怎么在一个context里切换这些视图呢?或者可否通过注入控制视图的currentState?或者通过状态绑定切换视图的状态?感觉很迷茫啊,求各位指点迷津
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
niss 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shiwenqing 的回复:]
xxxPM类 是一个单独的组建? 还是只是一个调用服务的类?
如果是组建的话实在main.mxml中声明的是吧,那就(this.parentApplication as main).currentState
切换组建视图。

如果是单独的类的话,那就等到访问完成才返回给PM类之后“广播事件”!
mian.mxml监听这个事件!然后更改视图的显示!
[/Quote]
PM类是展示层模型,在视图中利用【Inject】注入的,例如
queryView.mxml:
<s:panel>
...省略声明等
<fx:script>
[Inject]
[Bindable]
public var model:queryPM;
</fx:script>
...省略
<s:button label="{model.btnLabel}" click="model.query()" />
</s:panel>

那么另一个视图
resultView.mxml
<s:panel>
...省略声明等
<fx:script>
[Inject]
[Bindable]
public var model:resultPM;
</fx:script>
...省略
</s:panel>

现在是怎么在model.query执行完结果后切换到resultView视图,当然,这两个视图合并到一起用state维护也没有问题,可问题是model没法控制视图啊,难道每个方法都要传入this参数吗?
SWQQ- 2011-05-05
  • 打赏
  • 举报
回复
xxxPM类 是一个单独的组建? 还是只是一个调用服务的类?
如果是组建的话实在main.mxml中声明的是吧,那就(this.parentApplication as main).currentState
切换组建视图。

如果是单独的类的话,那就等到访问完成才返回给PM类之后“广播事件”!
mian.mxml监听这个事件!然后更改视图的显示!
niss 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shiwenqing 的回复:]
新建两个视图一个queryViewState,一个resultViewState。
最开始初始化queryViewState。
当点击查询的时候触发事件并且切换当前main视图。
this.currentState = "resultViewState";
并且设置切换过渡效果。
或者是灵活的使用组件的 visible和includeInLayout属性来设置不同组件的隐藏与加载!
[/Quote]
由于需要通过视图表现层模型进行查询操作,也就是说在xxxPM类中调用Service访问后台,这是异步操作,要等到访问完成才返回给PM类,可问题是PM类中能够this.currentState吗?视图是没法监听这个异步结果的啊
SWQQ- 2011-05-05
  • 打赏
  • 举报
回复
新建两个视图一个queryViewState,一个resultViewState。
最开始初始化queryViewState。
当点击查询的时候触发事件并且切换当前main视图。
this.currentState = "resultViewState";
并且设置切换过渡效果。
或者是灵活的使用组件的 visible和includeInLayout属性来设置不同组件的隐藏与加载!

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧