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

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

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

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


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

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();
}

你可能感兴趣的:(ViewStack切换页面组件时,如何让组件重新加载一遍)