1. 前言导读
我们在小程序开发过程中,列表跳跳转传值无处不在,今天教大家跳转传值的两种形式:
1. 传递单一参数
2. 传递对象 (在实际开发中建议使用这种方式
)
2. 传递单一参数实现步骤
- 官方自定义格式:
data-xx
- button点击获取参数
var id =event.currentTarget.dataset.postid;
在现代 JavaScript 开发中,推荐使用 let 和 const 来代替 var,以避免由于 var 的函数作用域和提升机制所带来的潜在问题
- button点击传跳转传递数据
- 在pages-detail 生命周期
onLoad()
中下获取传递数据
onLoad(event) {
let id= event.currentTarget.dataset.id
console.log(id)
},
温馨提示
- 在使用
data-xx
的时候,一律小写命名如:data-currentindex
,不要写成data-currentIndex
,因为无论你大写还是小写,调用event.currentTarget.dataset.xxx
取值的时候系统一律转成小写,本人在这里被坑过很久,可以用console.log(event)
打印看看数据
3. 传递对象
传递对象在实际开发过程中很常见,如一个商品列表,跳转到商品详情,此时就建议传递对象,而不是传递一个个参数,因为详情页显示的字段比较多,一个个参数传递,代码显的很臃肿,如果有一天产品要求加字段,两头改,不便维护
- 先通过
JSON.stringify(xxxx)
将item转json
//将item转json
let str =JSON.stringify(event.currentTarget.dataset.item);
- button点击跳转传递参数
- 然后在详情页通过
JSON.parse(xxxxx)
将json转对象
//再将json转对象
let item =JSON.parse(options.JsonStr);
- 在生命周期
onLoad()
函数中,获取传递数据
4. 总结
在实际开发过程中,没有特殊的情况,建议传递对象,页面之间跳转传递参数无处不在,大多数情况下传递的数据字段都不会少,所以建议传递对象