Wex5父子頁面方法相互調用
阿新 • • 發佈:2018-02-07
xid ren pid load() 執行 parent body 過去 參數
父子頁面分為兩種,
1.windowDialog 是彈出的子頁面,
2.windowContainer 是內嵌的子頁面!
在子頁面中獲取父頁面的model對象 this.getParent() 或者 this.getParentModel() 可以獲取到父頁面的model對象,然後就可以訪問父頁面任意的方法和屬性。直接操作父頁面
在父頁面中,也可以通過this.comp(‘windowContainer 或者 windowDialog 的Xid’).getInnerModel() 獲取子頁面的model對象!然後直接操作子頁面!
(註意:子頁面必須加載過了才可以調用,否則或報錯的!可以先判斷
if(windowDialog.getInnerModel()) { //子頁面已經初始化了,可以執行代碼 }else{ //子頁面還沒有初始化 } )
方法中先做判斷,if(this.comp(‘windowContainerXid’).getInnerModel())
條件如果為false,說明子頁面還沒有加載!就執行this.comp(‘windowContainerXid’).load() 加載子頁面
然後直接用父(子)medol.方法名()調用在這裏官方文檔解釋的是獲取到VM是實例,沒想到VM實例調用方法直接調用的
var dynamicMessageModel = this.comp("windowContainer4").getInnerModel(); dynamicMessageModel.messageFilter(groupId);
當然。也可以在打開子頁面的時候,將父頁面的對象直接傳參過去(任意)!接受到參數可以直接操參數,因為是單頁應用,所以代碼的運行環境是一致的!
Wex5父子頁面方法相互調用