Wex5父子頁面方法相互調用


父子頁面分為兩種,
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);

 

當然。也可以在打開子頁面的時候,將父頁面的對象直接傳參過去(任意)!接受到參數可以直接操參數,因為是單頁應用,所以代碼的運行環境是一致的!


免責聲明!

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



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