该模块主要是为了监控微信开发中两个页面的状态交互,比如pageA和pageB。PageA有一个最喜欢的项目,pageB也有相同的最喜欢的项目。监听同一个事件//收藏事件变化nsevent.on('collectChange',()=>{//刷新列表数据}),然后操作pageA页面上的collect(收集)事件会触发collectChange回调on它自己的页面。这时候nsevent就派上用场了。在pageA中这样声明//集合事件变化nsevent.on('collectChange',()=>{//刷新列表数据},'pageA')在pageB上触发pageA的事件,不会触发其回调自己的页面//触发collectChange事件NSEvent.emit('collectChange',params,{ns:['pageA']});也可以在pageC上触发pageA,pageB的collectChange事件//触发collectChange事件NSEvent.emit('collectChange',params,{ns:['pageA','pageB']});nsevent文档具有命名空间事件侦听器-具有命名空间的事件发射器安装和使用npminsevent--saveconstnsevent=require('nsevent');//浏览器on(eventName,fn,namespace)必填参数说明eventName为监听事件名称fn为回调函数命名空间无命名空间NSEvent.on('add',(a,b)=>{console.log(a,b);});NSEvent.on('add',(a,b)=>{console.log(a,b,'ns');},'ns');//1,2//1,2,'ns'NSEvent.emit('添加',一个,b);需要once(eventName,fn)参数表示eventName为监听事件的名称,fn为回调函数NSEvent.once('add',(a,b)=>{console.log(a,b);});NSEvent.emit('添加',1,2);//1,2NSEvent.emit('添加',1,2);//nothingemit(eventName,arg1,arg2,...,object)参数强制说明eventName为监听事件的名称arg[1,2,3...]No传递给回调函数对象的值No{Thelastpassedobject,ns:['ns']}可以指定命名空间来触发事件NSEvent.on('fire',()=>{console.log('firens');},'ns');NSEvent.on('fire',()=>{console.log('firens2');},'ns');NSEvent.on('fire',()=>{console.log('fire');});NSEvent.emit('火');//触发ns,触发ns2,fireconsole.log("======");NSEvent.emit('fire',1,2,{ns:[]});//nothingNSEvent.emit('fire',1,2,{ns:['ns']});//firens,firens2off(eventName,[string|function|array])必填参数说明eventName为监听事件名称stringfunctionarray否通过数组constNSEvent=require('../dist/nsevent.cjs');NSEvent.on('fire',()=>{console.log('firens');},'ns');NSEvent.on('开火',()=>{console.log('firens');},'ns');NSEvent.on('fire',()=>{console.log('fire1');},'ns1');NSEvent.emit('火');//触发ns,触发ns,fire1console.log('==========');NSEvent.off('fire',['ns']);NSEvent.emit('fire');//fire1console.log('==========');NSEvent.off('fire','ns1');NSEvent.emit('fire');//没有任何
