微信轮播图的点击跳转

情景


比如说我们写上了一个这样的轮播图结构

<swiper catchtap="carouselToDetail" indicator-dots="true" indicator-color="green" indicator-active-color="deeppink">
	<swiper-item>
		<image data-detailId="1" src='/images/detail/carousel/01.jpg'></image>
	</swiper-item>
	<swiper-item>
		<image data-detailId="0" src='/images/detail/carousel/02.jpg'></image>
	</swiper-item>
	<swiper-item>
		<image data-detailId="2" src='/images/detail/carousel/03.jpg'></image>
	</swiper-item>
	<swiper-item>
		<image data-detailId="3" src='/images/detail/carousel/04.jpg'></image>
	</swiper-item>
</swiper>

效果图
在这里插入图片描述

说明


在上图所写的结构中我们用到了一下属性

  1. 自定义属性data-*,而自定义属性一般从标签的dataset中能获取到,他可以作为每个轮播图的唯一标识
  2. 绑定了一个非冒泡事件catch

通过路径传递数据

carouselToDetail(event) {
  const id = event.target.dataset.detailid;
  wx.navigateTo({
    url: '/pages/detail/detail?id=' + id
  })
}

相应页面的处理

假设我们新建了detail页面,那么我们就应该能取出相应的id

  data:{
    index:0
  },
  onLoad:function (options) {
    this.setData({index:options.id})
  },

我们可以利用这个index发送请求或者取出数据中我们需要的数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 在wxml文件中添加轮播图组件和按钮组件,例如: ```html <swiper class="swiper-container" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> <swiper-item> <image src="{{imageUrls[0]}}" /> </swiper-item> <swiper-item> <image src="{{imageUrls[1]}}" /> </swiper-item> <swiper-item> <image src="{{imageUrls[2]}}" /> </swiper-item> </swiper> <button class="btn" bindtap="handleClick">点击跳转</button> ``` 2. 在js文件中定义轮播图组件的属性和点击事件处理函数,例如: ```javascript Page({ data: { imageUrls: [ 'http://img01.tooopen.com/images/20150828/sy_140703593077.jpg', 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg', 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg' ], indicatorDots: true, autoplay: true, interval: 5000, duration: 1000 }, handleClick: function() { wx.navigateTo({ url: '/pages/detail/detail' }) } }) ``` 3. 在点击事件处理函数中使用wx.navigateTo方法跳转到目标页面,例如: ```javascript wx.navigateTo({ url: '/pages/detail/detail' }) ``` 其中,'/pages/detail/detail'是目标页面的路径。注意,目标页面必须在app.json文件中注册过。 4. 在目标页面的wxml文件中展示跳转后的内容,例如: ```html <view class="detail">这是详情页</view> ``` 5. 在app.json文件中注册目标页面,例如: ```json { "pages": [ "pages/index/index", "pages/detail/detail" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle": "black" } } ``` 其中,"pages/detail/detail"是目标页面的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值