miniUI 使用 mini.open 傳輸資料到 新頁面
阿新 • • 發佈:2018-11-05
mini.open({ url: "<%=path%>/vacnstandard/modifyDetail.action", title: "<s:text name="vacnstandard_46"></s:text>", width: 450, height: 400,//修改加班資訊 onload: function () { var iframe = this.getIFrameEl(); var data = { name: name, SID: SID, START_TIME: START_TIME, END_TIME: END_TIME, COMPENSATION: COMPENSATION, OVER_NUM: OVER_NUM, OVER_TYPE: OVER_TYPE }; //呼叫彈出頁面方法進行初始化 iframe.contentWindow.SetData(data); }, ondestroy: function (action) { grid.reload(); } });
以上程式碼中 onload 方法的格式為 miniUI 官網所示的格式,下圖所示:
其中,data : { xx:xx } 為要傳輸到新頁面的資料。
最重要的是開啟的新頁面如何接收這些引數?
還是看程式碼吧 !
//對應上個頁面的mini.open中的SetData() 函式,本頁面的SetData()會自動執行,無需主動呼叫 function SetData(data) { sid = data.SID; mini.get("perName").setValue(data.name); mini.get("startTime").setValue(data.START_TIME); mini.get("endTime").setValue(data.END_TIME); mini.get("CompensationWay").setValue(data.COMPENSATION); mini.get("durationTime").setValue(data.OVER_NUM); mini.get("OvertimeCategories").setValue(data.OVER_TYPE); }
答案就是直接定義一個SetData(data) 方法即可,而且不需要去主動呼叫,它會自動去執行。
而引數的獲取方式為 data.引數名 。