uni.navigateTo传递数组对象解决方法


JSON.stringify():用来将数组对象转为字符串
JSON.parse():用来将字符串转为对象


uni.navigateTo({
	url: '../view/view?list='+JSON.stringify(this.numbers),
	success: res => {
			console.log("跳转成功");
		},
		fail: () => {
			console.log("跳转失败");
		},
	});

	onLoad:function(param) {
		console.log("onload接收到的参数↓");
		console.log(JSON.parse(param.list));
		this.list = JSON.parse(param.list);
	},

参考https://blog.csdn.net/qq_34908844/article/details/75093955

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在vue3+vite+ts+uniapp的项目中,通过`uni.navigateTo`跳转页面时可以通过`events`参数向被打开页面传递数据或数组。具体实现步骤如下: 1. 在打开页面的页面中,通过`uni.navigateTo`方法打开被打开的页面,并将需要传递的数据或数组通过`events`参数传递: ```typescript import { defineComponent } from 'vue' export default defineComponent({ methods: { navigateTo() { uni.navigateTo({ url: '/pages/secondPage/secondPage', events: { // 传递数据 passData: { name: '张三', age: 18 }, // 传递数组 passArray: [1, 2, 3, 4, 5] } }) } } }) ``` 2. 在被打开的页面中,可以在`onLoad`生命周期函数中接收通过`events`参数传递过来的数据或数组: ```typescript import { defineComponent, onMounted, ref } from 'vue' export default defineComponent({ setup() { const name = ref('') const age = ref(0) const array = ref<number[]>([]) onMounted(() => { const pages = getCurrentPages() const currentPage = pages[pages.length - 1] // 接收传递过来的数据 const { name: _name, age: _age } = currentPage.options name.value = _name age.value = _age console.log('receive data', { name: name.value, age: age.value }) // 接收传递过来的数组 array.value = currentPage.options.passArray console.log('receive array', array.value) }) return { name, age, array } } }) ``` 这样在被打开的页面中就可以接收到从上一个页面传递过来的数据或数组了。需要注意的是,如果传递的数据较多或数组较大,可以将数据放到一个单独的js文件中,然后在打开页面的页面和被打开的页面中分别导入使用,避免数据过于冗余。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悯码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值