有同学在群里咨询,使用Uniapp开发微信小程序和APP应用,想实现后退时给上个页面传递参数,有没有办法呢?当然是有的,可以通过Uniapp的自定义全局事件来实现,今天丁老师教给你。
一、当前页
在后退的方法中,添加uni.$emit方式来实现。uni.$emit是自定义事件,可以触发全局任何页面,所携带的参数会传给监听器回调函数。
代码如下:
uni.$emit('get_back_params',{
'参数1':'aaa',
'参数2':'bbb',
});
uni.navigateBack();二、上一页(后退的页)
在后退的页面,使用uni.$on来接收自定义事件,包含自定义事件携带的参数。
onLoad(options){
uni.$on('get_back_params',function(data){
console.log('监听到get_back_params的事件,携带参数是:'+data);
})
}除了Uni.$on事件外,还可以使用uni.$once(eventName,callback)事件来接收,该事件与uni.$on的区别是,uni.$once只接收一次,接收到后就注销该事件,而uni.$on则是一直对事件进行监听,持续长久接收。
移除事件:
如果要移除uni.$on事件,可以使用uni.$off(eventName, callback)方式来移除某个全局事件监听。如果在使用uni.$off时没有传值,则默认移除应用内所有的自定义事件,uni.$off需要在onUnload中使用。
全文总结
通过使用uni.$on的方式,可以对包括页面、组件、nvue等对象进行参数值传递,实现包括后退传参数、跨对象传参数等功能。该事件兼容微信、抖音、支付宝等各种小程序、安卓APP、IOS APP、鸿蒙OS APP等全终端。但是在使用时,还需要注意及时销毁事件监听,以免占用系统资源。
在开发微信小程序时,涉及到获取用户位置的业务部分,需要使用wx.getLocation方法。但是wx.getLocation接口很难申请,基本上申请了都不给通过,主要是因为申请该方法,需要提供相关场景的图片、视频、业务流程说明,并且使用...
最近更换了电脑,装好了git,在对项目同步时提示is not owned by current user的错误,如图:仔细研究了下,这是因为创建项目的电脑git和当前电脑的用户权限不同导致的。直接说解决方法吧:1.进入C盘,C:\Use...
常用命令:#查看linux内核 uname -r cat /proc/version#查看linux版本详细信息 hostnamectl #列出所有文件 ls -a #列出带有拥有者的文件 ls -l #移动文件 mv 源文件或目录 新...
有同学在群里咨询,想通过短信精准营销,实现用户收到短信后,点击打开短信链接就自动调起微信小程序或APP,请问丁老师这个可以实现吗?该如何实现呢?今天丁老师对这个问题进行解答。短信链接打开微信小程序和APP的原理通过群发短信,然后用户点击...
在使用wordpress的过程中,有的时候部分页面打不开,或是程序不能正常使用,也没有显示具体的错误信息,这个时候该怎么办呢?首先是查看错误日志,可以查看wordpress本身的错误日志,以及php的错误日志。这时有朋友提问了,wordpr...
国外很多VPS购买后,只有密码,没有登录账号,如何登录呢?我们以one.com为例,购买了VPS后,只能设置密码,但是用root,也无法登录,是怎么回事呢?查了官方文档,原来修改的VPS密码,不是root的,这个VPS默认的账号是admin...
今天有同学在群里提问,在使用photoshop编辑文字时,经常会弹出一个文字选择的面板如图:这时文字也无法输入,也无法取消和关闭,很是烦人,怎么取消这个功能呢?经过丁老师研究,方法很简单:1.打开photoshop菜单-编辑2.选择首选项-...
挺不错的浏览器,强加入了edge image viewer图片浏览器,感觉不是那么好,对于开发者来说,更想要原生的东西。包括微信网页版里的表情图片,用edge image viewer打开的话,无法保存为gif格式,即使保存了,也只是第一帧...