当前位置: 首页 > article >正文

微信小程序之轮播图组件封装

目录

 封装组件——mp-rotationchat

组件的属性与方法——swiper-rotation-chat.js

组件的引入

使用封装组件——mp-rotationchat


文件目录

  • components(所有组件位置)
    • swiper-roatiton-chat(轮播图组件包)
      • swiper-rotation-chat.wxml
      • swiper-rotation-chat.js
  • pages(所有页面)
    • index(初始页面)
      • index.js
      • index,wxml

 封装组件——mp-rotationchat

组件的定义:swiper-rotation-chat.wxml

<view class="rotationchat">
	<swiper autoplay="{{true}}" bindchange="rotationChange" style="height:400rpx;">
		<swiper-item wx:for="{{rotationChat}}">
			<view bindtap="tap" hover-class="swiper-item_hover" data-index="{{index}}">
				<!-- 图片未加载出来时的占位 -->
				<view class="swiper-item_stoken" wx:if="{{!item.loaded}}">
					<view class="ant-skeleton-loading" style="width:100%;height:400rpx"></view>
				</view>
				<image class="img" src="{{item.imageUri}}" hidden="{{!item.loaded}}" data-index="{{index}}" bindload="imgLoaded"></image>
			</view>
		</swiper-item>
	</swiper> 
	<view class="rotationchat-spot">
		<view wx:for="{{rotationChat}}" class="{{index == currtRotaitonChat ? 'rotationchat-spot-curt':''}}"></view>
	</view>
</view>

组件的属性与方法——swiper-rotation-chat.js

  /**
 * 组件的初始数据
 */

  data: {
    currtRotaitonChat: 0
  },


 /**
   * 组件的方法
   */
methods: {
    rotationChange(e) {
      this.setData({
        currtRotaitonChat: e.detail.current
      })
    },

       ...
},

组件的引入

全局引入在app.json,当前页引入比如"index.json"中

{
  "usingComponents": {
    "mp-rotationchat": "../../components/swiper-roatiton-chat/swiper-rotation-chat",
    ...
    
  }
}

使用封装组件——mp-rotationchat

index.wxml

		<!--轮播图 -->
		<view class="banner_img">
			<mp-rotationchat rotationChat="{{rotationChat}}" bind:click="tapRotationChat"></mp-rotationchat>
		</view>

index.js

  • rotationChat:          数组
  • tapRotationChat:微信小程序API,保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。
    • 参数:url
Page({
	    data: {
		rotationChat: [],	
            ...
          },
	tapRotationChat: function (e) {
		wx.navigateTo({
			url: e.detail.toUri
		});
	},
            ...



	});


 


http://www.kler.cn/a/303172.html

相关文章:

  • 用枚举算法解决LeetCode第3348题最小可整除数位乘积II
  • css中的变量使用
  • sealos部署K8s,安装docker时master节点突然NotReady
  • python怎么设置环境变量
  • vue面试题7|[2024-11-14]
  • Oracle ADB 导入 BANK_GRAPH 的学习数据
  • CTF常见编码及加解密(超全)第二篇
  • java程序员入行科目一之CRUD轻松入门教程(二)
  • layui监听table表单的多选框
  • 高级实时通信:基于 Python 的 WebSocket 实现与异步推送解决方案
  • 商务办公tips1:如何将网页转换为pdf
  • Python 数学建模——Vikor 多标准决策方法
  • 基于react native的锚点
  • 鼎捷新一代PLM 荣膺维科杯 “2023年度行业优秀产品奖”
  • 基于Service Worker实现WebRTC局域网大文件传输能力
  • C语言可变参数函数和可变参数宏
  • Python 数学建模——方差分析
  • 无人机之伯努利定律
  • RabbitMQ消费者确认和重复机制
  • Python爬虫案例七:抓取南京公交信息数据并将其保存成excel多表形式
  • EXCEL导出功能——相关报错
  • 微信小程序开发注意事项
  • 通过mqtt通信远程控制大疆无人机
  • Java 学习路线:语言、框架、中间件与数据库
  • 【RabbitMQ】RabbitMQ如何保证数据的可靠性,RabbitMQ如何保证数据不丢失,数据存储
  • 手机玩机常识-------诺基亚系列机型3/5/6/7/8详细的刷机教程步骤 手机参考救砖刷机教程