Jarvan
Jarvan
  • 发布:2015-03-23 15:25
  • 更新:2015-03-24 21:47
  • 阅读:3168

mui预加载自定义模板

分类:MUI
mui.plusReady(function() {  
                getTemplate('cv-center-template', 'cv-center-template.html');  
            });  
            var subWebview = null,  
                template = null;  
            mui('.info').on('tap', 'a', function() {  
                var href = this.href;  
                template = plus.webview.getWebviewById("cv-center-template");  
                console.log(template);  
                subWebview = template.children()[0];  
                mui.fire(template, 'updateHeader', {  
                    title: "",  
                    showMenu: false  
                });  
                if (subWebview.getURL() != href) {  
                    subWebview.loadURL(href);  
                } else {  
                    subWebview.show();  
                }  
                template.show('slide-in-right', 150);  
            });

我在简历中心这个页面有个菜单,我想像MUI的list.html中那样使用预加载模板,但是我又不想在list.html那个页面中加载其他模板(除了default-main),我想在进入简历中心这个页面的时候预加载一个模板,然后在根据点击的菜单加载不同页面,但是总是template打印出来总是undefined

2015-03-23 15:25 负责人:无 分享
已邀请:
Jarvan

Jarvan (作者)

自己顶一下

DCloud_UNI_FXY

DCloud_UNI_FXY

在你的getTemplate方法里打印一下。看看是不是正确创建了该模板

DCloud_UNI_CHB

DCloud_UNI_CHB

hello mui中的getTemplate方法创建的模板webview窗口id分别加了后缀'-main'和'-sub',代码如下:

//预加载共用父模板;  
var headerWebview = mui.preload({  
    url:header,  
    id:name+"-main",  
    styles:{  
        popGesture:"hide",  
    },  
    extras:{  
        mType: 'main'  
    }  
});  
//预加载共用子webview  
var subWebview = mui.preload({  
    url:!content?"":content,  
    id:name+"-sub",  
    styles:{  
        top: '45px',  
        bottom: '0px',  
    },  
    extras:{  
        mType: 'sub'  
    }  
});

因此,你获得模板父页面的代码应该是:

template = plus.webview.getWebviewById("cv-center-template-main")  
//或者如下代码:  
template = getTemplate('cv-center-template').header

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