发布时间:2023-05-28 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印
在uni-app中,实现页面跳转并传递对象参数,可以通过以下方法:
1. 在跳转前,将需要传递的对象参数转为JSON字符串,然后用encodeURIComponent进行编码,拼接在url后面。
// 要跳转的页面路径
const url = '/pages/detail/detail';
// 要传递的对象参数
const obj = {
  id: 123,
  name: 'test'
};
// 将对象参数转为JSON字符串,并使用encodeURIComponent编码
const params = encodeURIComponent(JSON.stringify(obj));
// 跳转页面并传递对象参数
uni.navigateTo({
  url: `${url}?params=${params}`
});
2. 在跳转后的页面,通过`onLoad`事件获取传递的对象参数,并使用decodeURIComponent解码,然后转为对象。
// detail.vue
export default {
  data() {
    return {
      obj: null
    }
  },
  onLoad(options) {
    // 获取传递的对象参数,使用decodeURIComponent解码,并转为对象
    if ('params' in options) {
      this.obj = JSON.parse(decodeURIComponent(options.params));
    }
  }
}
这样就可以实现在uni-app中跳转页面并传递对象参数的需求。