miniui框架踩坑筆記


1、用mini.open時的彈窗中子頁面訪問父級頁面獲取數據問題:

api的示例:

 

在獲取數據的時候,父頁面傳數據給子頁面是通過iframe.contentWindow去獲取子頁面的方法,這個方法就是setData();

子頁面中例如要獲取父頁面的手機號,那么代碼可以這樣寫

function SetData(phone){
    var phoneInp = mini.get('phone_num');
    phoneInp.setValue(phone);
}

而父級頁面就是傳數據,代碼可以這樣寫

function editContactInfo(){
    var phoneNum =document.querySelector('.traveller-phone').innerHTML;
    var btnEdit = this;
    mini.open({
            url: '/tms/example/editContactPop.html',
            title: "修改聯系人",
            width: 600,
            allowResize: false,
            height: 369,
            onload: function () {       
                    var iframe = this.getIFrameEl(); 
                    iframe.contentWindow.SetData(phoneNum);  //調用彈出頁面方法進行初始化
            },
            ondestroy: function (action) {
                if (action == "ok") {
                    var iframe = this.getIFrameEl();
                    var data = iframe.contentWindow.GetData();
                    data = mini.clone(data);
                    if (data) {
                       document.querySelector('.traveller-phone').innerHTML =data;
                    }
                }

            }
    });
}

點擊彈窗的取消按鈕關閉彈窗代碼

/**
 * 取消
 */
function onCancel(){
    CloseWindow("ok");
}
 
function CloseWindow(action) {
    if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
    else window.close();
}

它是通過返回值來關閉彈窗,在api示例代碼中可以看到ondestroy方法里的參數action即是返回值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM