Uniapp|页面、组件之间传递调用方法(函数)

最近写评论组件,需要在二个页面、一个自定义组件之间传递、调用方法,当新增、删除评论时要通知父页面更新评论数量,也就是如何做到子页面数据更新后通知父页面也更新数据!

经研究,在uni.navigateTo中已经提供了EventChannel来解决此类问题。在父页面的click_comment中写上更新评论数量的方法changeCommentsCount,之后此方法就传递到了comments.vue中了(相当于)。

EventChannel参考

https://uniapp.dcloud.io/api/router?id=navigateto


导航到comments.vue页面后,再来一个方法changeCommentsCount并传递到自定义组件ange-comments中去:


当ange-comments增加评论或者删除时都会调用comments.vue中的changeCommentsCount方法,以删除为例。


即上述代码中的


然后此方法再调用practice.vue中的changeCommentsCount,经过了两次调用!

实战

评论页面删除一个评论,可以看到右下角已经调用了practice页面中的click_comments中定义好的方法changeCommentsCount,并正确的获取了数据data: -1。

Uniapp|页面、组件之间传递调用方法(函数)

vuex也可以达到同样的效果,不过类似这种层次不多的,使用EventChannel就能简单的解决。

来源:爱玩的安哥

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月2日
下一篇 2021年11月2日

相关推荐