uni-app在页面跳转的时候是可以传参的,官方给的方法就是在路由后拼接传参地址
uni.navigateTo(OBJECT)
对于做开发的这种传参不太习惯,还是习惯了用一个字典作为传参数据
下面对uni.navigateTo做一下封装并带参数封装
首先单独写一个js文件用来封装页面跳转(注意:动画那些没有写进来,如果想要可以自己加)
navTo.js
const togo = function(url,data){
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
uni.navigateTo({
url
})
}
export function param(data) {
let url = ''
for (var k in data) {
let value = data[k] !== undefined ? data[k] : ''
url += '&' + k + '=' + encodeURIComponent(value)
}
return url ? url.substring(1) : ''
}
exprot {togo}
然后在main.js中注册全局变量
import * as navTo from '@/assets/navTo'
Vue.prototype.$navTo = navTo
最后调用(在vue页面)
<view @click="$navTo.togo('/pages/index/index',{type:1,name:'YanGo'})"></view>
//或者在methods钩子也可以
methods: {
to(){
let url = '/pages/index/index'
let param = {
type:1,
name: 'YanGo'
}
this.$navTo.togo(url,param)
}
}
6 个评论
要回复文章请先登录或注册
w***@qq.com
TreeShaking
Proud
1***@qq.com
Y***@163.com (作者)
hhyang