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

ViewStack切换页面组件时,怎么让组件重新加载一遍

2012-03-25 
ViewStack切换页面组件时,如何让组件重新加载一遍ViewStack里面有A,B,C 3个page一开始默认加载A,点击按钮

ViewStack切换页面组件时,如何让组件重新加载一遍
ViewStack里面有A,B,C 3个page

一开始默认加载A,点击按钮切换到B,再切换到C,当B和C第一次展示的时候会加载一次,之后就不会再加载了(无论怎么切换createComplete事件方法不会进了),就像是静态的死的页面,但是现在我希望在每次进入到一个page里面的时候都要加载一次,去查询数据,请问怎么弄

HTML code
<mx:ViewStack width="100%" height="100%" id="vs" change="vsChange(event)">        <view:A />        <view:B />                  <view:C />    </mx:ViewStack>


JScript code
public function vsChange(e:IndexChangedEvent):void            {                //这里可以获取到当前的page,如何重新加载,调用什么方法?                var obj:Object = e.relatedObject;            }


[解决办法]
ViewStack中的view只会在点击时创建,并且只会创建一次,以后都是从内存中读取~~

这就是它的机制,createComplete只能执行一次

至于每次进入view执行数据库操作可以通过触发change事件调用view中方法实现

<mx:ViewStack id="myViewStack" borderStyle="solid" width="100%" height="80%" change="selectChild(event)">
<n1:comp1 id="comp1"/>
<n1:comp2 id="comp2"/>
</mx:ViewStack >

private function selectChild(event:Event):void{
var currentIndex:int = myViewStack.selectedIndex;
operateType(currentIndex);
}
//页面初始化operateType(0)
private function operateType(index:int):void{
switch(index){
case 0 :
comp1.selectDB1();
case 1:
comp2.selectDB2();
}
}

comp1
public function selectDB1():void{
ro.findPart1();
}
comp2
public function selectDB2():void{
ro.findPart2();
}

热点排行