自制微信小程序通讯JS成因现在微信小程序的开发基本上都是使用组件的开发。随着组件的不断增多,组件之间的通信也越来越频繁。那么,微信小程序中的组件之间的通信就必须要通过父子关系。这个js让我们可以在组件和页面之间自由交流。您只需要按照规范进行注册和使用即可。它可以帮助您在任意两个组件之间建立通信通道。项目github地址: https://github.com/szpoppy/wx...npm:https://www.npmjs.com/package...喜欢的朋友不要吝啬你的 star, 提前感谢功能组件间通信页面间通信组件与页面间通信一对一通信一对多通信(广播机制)使用由于微信小程序不支持npm默认包管理机制,可以使用从github下载zip包,解压unicom.js,直接放到微信小程序源码目录下(代码没有使用ES6语法,放心使用)全局注册mechanism(PageandComponentwillberewrite)//importpackagevarunicom=require("unicom");//下面的函数会重写Page和Component//注意:全局机制注册后,所有本地注册都失效");//当Page中传入onLoad时,初始化unicomPage({onLoad:function(){//将this注册到unicom//id可选,这里传入的ID优先unicom.pageInit(this,"ID”);}})//在Component中使用behaviors注册Component({behaviors:[unicom.behavior]})关于设置页面id//PagePage({unicomId:"id"})//或部分注册//注意:如果你使用全局注册,本地注册会失效,只能通过上面的方法注册Page({onLoad:function(){unicom.pageInit(this,"id");}})如果同时使用这两种注册方式同时,如果本地注册生效,则优先使用部分注册,否则组内使用第一个关于设置组件id关于设置通信方式//Page和Component是通用的Page|Component({unicom:{//定义消息方式//arg1,arg2是调用时传入的消息:function(arg1,arg2){//的当前页面与联通相关请不要随意修改参数this.unicom//生成唯一idthis.unicom.id//传入唯一idthis.unicom.cusId//调用我上次发送者this.unicom.sender//Sendmessagethis.unicom.send}}})sendmessage//页面和Component公共Page|Component({methods:{method1:function(){//发送消息message后,所有定义了消息message的联通都可以接收messagethis.unicom.send("message","arg1","arg2")},method1:function(){//发送消息到id1,id2,两个自定义id的组件或页面this.unicom.send("message#id1,id2","arg1","arg2")}}})//方法2引入unicomvarunicom=require("unicom");//消息message发送后,定义该消息的所有unicommessage可以收到消息unicom.send("message","arg1","arg2")//发送消息message给id1,id2,这两个组件或者自定义id的页面unicom.send("message#id1,id2","arg1","arg2")unicom中的属性unicom.send("eventname[#id1,id2]",...parameters)触发事件,如果设置Targetid,它只是发送给目标id中对应方法unicom.behavior组件,使用behaviors在本地注册unicom.pageInit(this[,id])本地注册函数unicom.rewrite()在Page中全局注册在app.js中如果对联通注册功能感兴趣,也可以加入QQ群讨论:953844490