当前位置: 首页 > 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/news/303172.html

相关文章:

  • 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详细的刷机教程步骤 手机参考救砖刷机教程
  • Linux+Docker:3分钟实现MinIO在线部署与Java集成
  • 性能测试的复习3-jmeter的断言、参数化、提取器
  • 240909-ChuanhuChatGPT集成Ollama的环境配置
  • 卷积神经网络经典模型架构简介
  • 中国电子学会202406青少年软件编程(Python)等级考试试卷(三级)真题与解析
  • Linux(5)--CentOS8使用yum
  • 【Vue】- Vue表达式
  • 【漏洞复现】科荣AIO moffice Sql注入漏洞
  • 【HarmonyOS】Beta最新对外版本IDE下载和环境配置
  • 如何在Windows10系统安装docker?