index.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <view class="demo-swiper">
  3. <demo-block title="基础用法">
  4. <z-swiper ref="zSwiper" v-model="list" :options="options">
  5. <z-swiper-item v-for="(item,index) in list" :key="index">
  6. <demo-item :item="item"></demo-item>
  7. </z-swiper-item>
  8. </z-swiper>
  9. <z-swiper ref="zSwiperThumbs" :custom-style="{'margin-top':'10rpx'}" v-model="list" :options="optionsThumbs"
  10. @swiper="setThumbsSwiper">
  11. <z-swiper-item v-for="(item,index) in list" :key="index">
  12. <demo-item :item="item" height="150rpx"></demo-item>
  13. </z-swiper-item>
  14. </z-swiper>
  15. </demo-block>
  16. <demo-block title="自动播放">
  17. <z-swiper ref="zSwiperAuto" v-model="list" :options="optionsAuto">
  18. <z-swiper-item v-for="(item,index) in list" :key="index">
  19. <demo-item :item="item"></demo-item>
  20. </z-swiper-item>
  21. </z-swiper>
  22. <z-swiper ref="zSwiperThumbsAuto" :custom-style="{'margin-top':'10rpx'}" v-model="list" :options="optionsThumbsAuto" @swiper="setThumbsAutoSwiper">
  23. <z-swiper-item v-for="(item,index) in list" :key="index">
  24. <demo-item :item="item" height="150rpx"></demo-item>
  25. </z-swiper-item>
  26. </z-swiper>
  27. </demo-block>
  28. </view>
  29. </template>
  30. <script>
  31. import data from '../../common/js/data.js'
  32. export default {
  33. data() {
  34. return {
  35. optionsThumbs: {
  36. spaceBetween: 10,
  37. slidesPerView: 4,
  38. freeMode: true,
  39. watchSlidesProgress: true,
  40. thumbs: {
  41. use: true
  42. }
  43. },
  44. options: {
  45. spaceBetween: 10,
  46. thumbs: {
  47. swiper: true
  48. }
  49. },
  50. optionsThumbsAuto: {
  51. spaceBetween: 10,
  52. slidesPerView: 4,
  53. freeMode: true,
  54. watchSlidesProgress: true,
  55. thumbs: {
  56. use: true
  57. }
  58. },
  59. optionsAuto: {
  60. spaceBetween: 10,
  61. thumbs: {
  62. swiper: true
  63. },
  64. autoplay: true
  65. },
  66. list: data
  67. }
  68. },
  69. methods: {
  70. setThumbsSwiper() {
  71. this.$refs.zSwiper.swiper.on("beforeMount", (swiper) => {
  72. this.$refs.zSwiper.swiper.params.thumbs.swiper = this.$refs.zSwiperThumbs.swiper;
  73. })
  74. },
  75. setThumbsAutoSwiper() {
  76. this.$refs.zSwiperAuto.swiper.on("beforeMount", (swiper) => {
  77. this.$refs.zSwiperAuto.swiper.params.thumbs.swiper = this.$refs.zSwiperThumbsAuto.swiper;
  78. })
  79. },
  80. }
  81. }
  82. </script>