使用场景:很多情况下,都需要在当前页面跳转到另一个页面的时候,需要先把另一个页面显示的状态准备好,这样再切换过去的时候,页面不会变化和渲染,用户体验比较好!!比如切换到另一个页面时,指定contents切换到某个页面!!如果在跳转后再切换contents ,就会看到过渡效果!等,这种写场景,就需要先在当前页切换另一个页面的contents,然后再跳转过去!!!

解决方法:

场景1. 页面A使用shell.showPage 跳转到页面B,关闭页面B的时候,回到页面A,切换contents到某个页面片段 !!这种方式,可以参考:http://docs.wex5.com/wex5-ui-question-list-2048/    页面A传递一个js函数到页面B,页面B关闭的时候先执行这个回调方法!在js方法中可以传参,指定切换到某个contents页面!!

场景2.页面A 使用windowDialog组件弹出页面B,关闭页面B的时候,回到页面A,并切换contents到某个页面片段!!可以参考:http://docs.wex5.com/wex5-ui-question-list-2119   子页面直接使用this.getParent() 获取父页面的model对象!然后再获取contents组件对象切换即可:

this.getParent().comp('conentsXid').to('contentXid')

场景3.如果页面A使用shell.showPage 跳转到页面B,并且指定切换B页面中的contents组件,显示某个页面片段 !可以参考http://docs.wex5.com/wex5-ui-question-list-2034/  使用事件派发的方式,调用另一个不相关页面的js方法!(注意:B页面必须是加载过才可以的!如果是第一次打开是没法调用它的方法的)

场景4. A页面使用windowDialog弹出B页面,B 页面中先切换contents ,然后再弹出打开此页面,这个时候,contents会有动画的切换效果,需要先取消动画然后再打开页面

var contents = this.comp('windowDialog1').getInnerModel().comp("pages");
contents.set({slidable:false});
contents.to('content-3');