ViewStack切换页面组件时,怎么让组件重新加载一遍
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 codepublic 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();
}