快应用父组件调用子组件的方法

第一种方法:

快应用可以使用this.$app获取到 App 相关信息,里面有一个customComponentMap的对象可以获取到组件及页面的一些方法属性,配合console.log调试可以取到里面的方法及调用它。

优点:可以在onInit里面调用

this.$app['customComponentMap']['2'].booklist.test()

第二种方法:

父组件使用$broadcast触发事件

this.$broadcast('getData');

子组件在onReady使用$on监听'getData',后面是执行的方法

onReady() {
    this.$on('getData', this.fetch)
}

第三种方法:

$child()获取指定 id 的自定义组件的 ViewModel

用法:this.$child('xxx') 获取 id 为 xxx 的 div 组件 ViewModel

需要给子组件设置id属性

缺点:不可以在onInit里调用,可在onShow里调用

<bookList id="bookList" />

然后在父组件使用方法调用

// 父组件
this.$child('bookList').test()
posted @ 2022-07-16 16:01  沉默-是金  阅读(158)  评论(0编辑  收藏  举报