Wex5父子页面方法相互调用

Posted 杜小二的博客(404code)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

当然。也可以在打开子页面的时候,将父页面的对象直接传参过去(任意)!接受到参数可以直接操参数,因为是单页应用,所以代码的运行环境是一致的!

以上是关于Wex5父子页面方法相互调用的主要内容,如果未能解决你的问题,请参考以下文章

iframe父子页面相互调用方法,相互获取元素

iframe父子相互调用,相互操作DOM

框架父子页面iframe相互调用方法

在AngularJs中父子页面如何相互调用方法和接收值

layui使用layer弹出层父子页面事件相互调用方法

JQuery javascript实现父子页面相互调用