【1】需求:

点击商品,跳到相应商品详情页面

【2】代码:

(1)商品列表页

<view class="goodsList">
<view
wx:for="{{goods}}"
wx:key="index"
bindtap="toDetail"
data-item="{{item}}"
class="goodArea">
<image src="{{item.src}}"></image>
<text>{{item.name}}</text>
<text>{{item.price}}</text>
</view>
<view class="placeholder"></view>
</view>

/* pages/test/test.wxss */
.goodsList{
display: flex;
justify-content: space-around;
align-items: center;
text-align: center;
flex-wrap: wrap;
}
.goodArea{
width: %;
height: 400rpx;
border: 1px solid #;
margin: 10rpx ;
}
.goodArea image{
width: %;
height: 350rpx;
display: block;
}
.placeholder{
width: %;
height: ;
} /**
* 页面的初始数据
*/
data: {
goods:[
{ name: '柴犬', src: '/images/goods/01.jpg', price: },
{ name: '贝壳', src: '/images/goods/02.jpg', price: },
{ name: '美女', src: '/images/goods/03.jpg', price: },
{ name: '服务器', src: '/images/goods/04.jpg', price: },
{ name: '机器人', src: '/images/goods/05.jpg', price: }
]
},
// 商品详情
toDetail(event){
const item = event.currentTarget.dataset['item'];
console.log(item)
wx.navigateTo({
url: '/pages/detail/detail?name='+item.name+
'&src=' + item.src+'&price='+item.price })
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
console.log('onLoad' +'监听页面加载,参数:'+options)
},

(2)商品详情页面

<image src="{{src}}"></image>
<text>{{name}}</text>
<text>{{price}}</text> /**
* 页面的初始数据
*/
data: {
name:null,
src:null,
price:null
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options);
this.setData({
name: options.name,
src: options.src,
price: options.price
})
},

(3)知识点

①flex多余行的块左对齐------添加高为0的占位空元素

②点击事件传参------通过自定义属性获取参数event.currentTarget.dataset['item']

③跳页------wx.navigateTo({...})

④跳页传参拼接------url

url: '/pages/detail/detail?name='+item.name+'&src=' + item.src+'&price='+item.price

.

微信小程序~跳页传参的更多相关文章

  1. 微信小程序跳转传参参数丢失?

    垂死病中惊坐起,笑问 Bug 何处来?! 1.先是大写字母作祟 前两天发布了「柒留言」v2.0.0 新版本,结果...你懂的嘛,没有 Bug 的程序不是好程序,写不出 Bug 的程序员不是好程序员. ...

  2. 微信小程序页面返回传参的问题

    比如提交问题,然后需要返回之前页面,由于onLoad只会加载一次,所以不会触发,但是我们页面又需要刷新,那怎么办? 1.onLoad与onShow区别 onLoad:监听页面加载.一个页面只会调用一次 ...

  3. 微信小程序wx.switchTab传参问题

    业务背景:从提问跳到列表需要刷新,以显示刚提交的数据. 但是官方文档 wx.switchTab 明确指明路径后是不能带参数的,怎么办? 网上有很多解决方案是:switchTab成功跳转后调用succe ...

  4. 微信小程序之页面传参

    效果图: 点击编辑值传过去了,那么编辑支出类型这个界面又是如何获取到值呢? 传值代码: type.js editType: function (e) { var typeId = e.currentT ...

  5. 微信小程序 wx.navigateTo()传参及多个参数方法

    var workModeAndPriceList = res.data.data.workModeAndPriceList; //var result = JSON.stringify(workMod ...

  6. 小程序跳转传参参数值为url时参数丢失

    通过先encodeURIComponent,取到值以后再decodeURIComponent,拼接参数正常传递 A页面 switch: function (e) { var aa = 'UNNZVUf ...

  7. 微信小程序跳转函数总结

    微信小程序跳转函数总结 ​ 笔者在微信小程序前端的开发过程中,在不同的情况下遇到了需要使用不同的页面跳转逻辑的情况,以下是我对这些函数的使用场景的一个总结介绍. wx.navigateTo 这是最常用 ...

  8. 两百条微信小程序跳坑指南(不定时更新)

    微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...

  9. 微信小程序跳转页面时参数过长导致参数丢失

    问题描述: 微信小程序:跳转页面时传参,参数过长导致参数丢失 跳转到文章详情页时,使用的文章链接e.currentTarget.dataset.id过长导致参数丢失 handleClickArticl ...

随机推荐

  1. LeetCode176——第二高的薪水

    题目描述 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 ...

  2. Slenium入门

    selenium 为浏览器测试框架,可以调用浏览器webdriver模拟浏览器操作360打开Chrome: from selenium import webdriver from selenium.w ...

  3. 记事本 该文件含有unicode格式的字符 点确定就变乱码了,notePad++,UltraEditor等编辑器打开也变乱码?

    --问题 之前一直都是好的 今天电脑打开,发现电脑所有的TXT记事本,点开来全是乱码,甚至下过来的TXT,或者自己新建的TXT,打上中文字,点保存会弹出 该文件含有unicode格式的字符什么什么的, ...

  4. vim 自定义设置

    修改系统配置(面对所有用户): root@bogon:~# cd /etc/vim/ root@bogon:/etc/vim# ls vimrc vimrc.tiny root@bogon:/etc/ ...

  5. Docker容器挂载文件(转载)

    一.Docker pull 安装 Nginx 1.查看docker仓库中的 nginx 命令 # 使用 docker search 命令搜索存放在 Docker Hub 中的镜像 docker sea ...

  6. es常用操作

    1.查看所有索引 _cat/indices?v 2.删除索引 DELETE my_index 3.查询缓存 curl /my_index/_search?request_cache=true' -d' ...

  7. VC++如何利用Matlab2014b的图形引擎进行绘图

    VC++如何利用Matlab的图形引擎 在Visual C++ 2015 工程中使用 Matlab2014b 提供的图形引擎进行绘图的详细过程. 问题来源: 有时候用C++写一些演示程序,有数据可视化 ...

  8. 原!linux comm命令文件 比较 输出交集,差集。

    文件内容大致如下: 112805|300011222483|OL海12卓|47397c33e36cdbed26637c50dd305973|2019-08-06 10:50:13|登B录123|suc ...

  9. 3.使用 Code First 迁移更新数据库

    1.更新 SeedData 类,使它提供新列的值. 示例更改如下所示,但可能需要对每个 new Movie 块做出此更改. context.Movie.AddRange( new Movie { Ti ...

  10. 把项目通过maven生产源码包和文档包并发布到自己的私服上

    <!-- 把项目通过maven生产源码包和文档包并发布到自己的私服上 执行maven命令,mvn clean package,执行完成后 命令:mvn deploy 就可以发布到你自己的私服上了 ...