zhoushp_cn
zhoushp_cn
  • 发布:2015-05-04 09:59
  • 更新:2015-05-13 14:11
  • 阅读:1296

autoshow

分类:MUI

想实现类似autoShow=false时的功能,webView加载完之后再显示出来
但用autoShow有几个问题,不知道是否是因为我哪里没有处理好

1 打开页面有延迟,数据加载非常快,但子webView显示出来要延迟个2-3秒的样子
2 A->B->C 三级页面, B开C设置autoShow=false, C按返回后直接回到A

不知道有没有什么替代方案呢?

2015-05-04 09:59 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

建议上传一下示例代码;

autoshow设置为false后,需要自己在对应web view中调用show方法;

zhoushp_cn

zhoushp_cn (作者)

B页面开C页面

liObj.children[0].addEventListener("tap", function() {  

                        mui.openWindow({  
                            id: "html/home/provider",  
                            url: "provider.html",  
                            styles: {  
                                popGesture: "close"  
                            },  
                            show:{  
                                autoShow: false  
                            }  
                        });  
                    });

C页面

mui.plusReady(function () {  
        main = plus.webview.currentWebview().opener();  

               。。。ajax处理  

        plus.nativeUI.closeWaiting();  
        plus.webview.show(main, 'slide-in-right', 200);  
    });  
  • DCloud_UNI_CHB

    从你C页面的代码来看,main是当前页面的创建者,因此应该是B页面,这里逻辑不对吧?

    2015-05-06 21:55

zhoushp_cn

zhoushp_cn (作者)

我监视后台, 点击B页面的链接,过了2秒后C页面才开始请求数据
如果不设置autoShow,C页面打开非常快,

但是因为数据加载我写在mui.plusReady里,所以页面会抖动一下,感观上不好

zhoushp_cn

zhoushp_cn (作者)

http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/25
我用第三个方案解决了,

zhoushp_cn

zhoushp_cn (作者)

A,B,C都有subpage,实际代码都在subpage里

该问题目前已经被锁定, 无法添加新回复