当前位置:   article > 正文

微信小程序开发笔记(五)官方组件及扩展_微信小程序官方组件

微信小程序官方组件

微信小程序示例

这里仅仅记录下我在使用的时候遇到的问题以及如何解决,有可能会出现误导,或者不是最佳实现方式,欢迎批评指正。

提示: 微信小程序在不断更新完善,所以看文档真的很重要,同时关注官方文档更新是一个很好的习惯哦。

一)swiper

官方文档Swiper

swiper.jpg

轮播组件,APP中使用非常广泛,当然小程序中用的也很多,通常情况下都是几张图片,下面会有面板指示点,最直白的理解方式 上面的截图就是一个标准的轮播图,这样应该比较清楚一点。最基本的轮播样式 可通过文档知道各个属性的用途, circular=‘true’ 属性可以知道 轮播是否衔接切换。如果不指定 则轮播结束后 会倒回到第一张,感觉比较生硬,使用了这个属性就会无缝切换到第一张。

swiper最基本的使用:

补充说明: data-id="{ {item}}"为组件绑定数据,itemimgUrls的某一项的值,indeximgUrls的下标。这个属性特别好用,例如 一个商品列表,用户点击了某个商品,我们不仅可以通过下标去获取对应的 商品列表数组 中的商品,也可以 直接绑定该商品的信息。

wxml:

   <swiper autoplay='true' indicator-dots='true' indicator-active-color='#fa6e57' indicator-color='#dadada' circular='true'>
    <block wx:for="{
  {imgUrls}}" wx:key="imgswiper">
      <swiper-item bindtap='tapSwiperItem'  data-id="{
  {item}}">
        <image src='{
  {item}}' ></image>
      </swiper-item>
    </block>
  </swiper>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

js 相关的处理 imgUrls是轮播的图片的数组 ,

补充说明:e.currentTarget.dataset.id取出 data-id绑定的数据

data:{
 //-----------------1-----------------
    imgUrls:[
      "https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640",
      "../../images/temp/slider.jpg",
      "https://images.unsplash.com/photo-1551214012-84f95e060dee?w=640",
      "../../images/temp/slider.jpg",
      "https://images.unsplash.com/photo-1551446591-142875a901a1?w=640",
      "../../images/temp/slider.jpg"
    ],
 //-----------------2-----------------
 imgUrls: [
      {
        img: "https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640"
      }, {
        img: "../../images/temp/slider.jpg",
      }, {
        img: "https://images.unsplash.com/photo-1551214012-84f95e060dee?w=640"
      }, {
        img: "https://images.unsplash.com/photo-1551446591-142875a901a1?w=640"
      },
    ],
}
 /**
   * 点击轮播图
   */
  tapSwiperItem:function(e){
    console.log("轮播图点击》》》",e)

    var index = e.currentTarget.dataset.id
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

imgUrls是轮播的图片的数组,
1 (对应备注1)在wxml 中取值===》用item可取到,
2 (对应备注2) 在wxml 中取值===》用item.img可取到,
如果没有其他要求,数组1即可满足,数组2可以有多个属性来控制,也可以理解为数组2存储的是对象,数组1存储的是元素

补充: 数据绑定操作 在wxml中 data-id 则 在js 中用 e.currentTarget.dataset.id 获取对应的值,用**data-**来对组件进行数据绑定,在js中取对应的值,data-后面的就是在js中取出的对应的e.currentTarget.dataset.后面对应的内容。

至此,一个基本的简单的轮播效果就出来啦,但是,如果仅仅是这样,那就太无聊啦,重要的是扩展,怎么扩展呢,比如轮播的内容是图片和视频混的,比如轮播的指示板不想用圆点,比如tab样式想用轮播实现翻页,比如轮播默认显示的是第二张图片,可以看到第一第三的部分内容,比如…,自己发挥想象。 OK, 继续来实现这些比如。

ONE 图片视频混排

首先,要确定数据 是图片还是视频,可以让后端小哥哥给个字段表明是图片还是视频,也可以自己通过后缀判断是图片还是视频。如果是视频就用<video />,如果是图片就用<image />,当前显示的是图片,需要暂停视频,如果是视频就继续播放,播放视频的时候是否需要继续轮播等。视频是固定在第一个显示还是和图片混合显示位置是不确定的。
wxml:

<swiper indicator-dots="{
  {indicatorDots}}" autoplay="{
  {autoplay}}" interval
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/387592
推荐阅读
相关标签
  

闽ICP备14008679号