1***@163.com
1***@163.com
  • 发布:2016-09-18 15:46
  • 更新:2016-09-18 19:34
  • 阅读:1478

底部选项卡这种初期化加载数据怎么办

分类:MUI

home页面里有选项卡页面如下

function loadPages() {  
            //获取当前页面所属的Webview窗口对象  
            var self = plus.webview.currentWebview();  
            for (var i = 0; i < 4; i++) {  
                //创建webview子页  
                var sub = plus.webview.create(  
                    subpages[i], //子页url  
                    subpages[i], //子页id  
                    {  
                        top: '0',  
                        bottom: '50px'//设置距离底部的距离  
                    }  
                );  
                //如不是我们设置的默认的子页则隐藏,否则添加到窗口中  
                if (i != Index) {  
                    sub.hide();  
                }  
                //将webview对象填充到窗口  
                self.append(sub);  
            }  

            //当前激活选项  
            var activeTab = subpages[Index];  
            //选项卡点击事件  
            mui('.mui-bar-tab').on('tap', 'a', function(e) {  
                //获取目标子页的id  
                var targetTab = this.getAttribute('href');  
                if (targetTab == activeTab) {  
                    return;  
                }  
                //显示目标选项卡  
                plus.webview.show(targetTab);  
                //隐藏当前选项卡  
                plus.webview.hide(activeTab);  
                //更改当前活跃的选项卡  
                activeTab = targetTab;  
            });  
        }

登陆成功后要去加载home页面,但是怎么加载呢,登陆成功后再加载,而且每个选项卡页面需要初期化取值,登陆成功后再去加载显得很慢,在线等大神回答。

2016-09-18 15:46 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

使用自定义事件来通知相应的数据的加载。

举例
列表页list

window.addEventListener('getList', function(){  
  // 这里执行ajax等方法来获取数据  
});  

login页面

// 登录成功后  
// 首先通知加载数据  
var targetView = plus.webview.getWebviewById('viewId');  
mui.fire(targetView, 'getList', {  
    // 这里可以传额外的参数,若不需要则不写;  
});  
mui.back(); //如果需要重写,则重写back;  

相关API
自定义事件
webview
mui.back()

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