index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <view class="demo-swiper">
  3. <demo-block title="基础用法">
  4. <z-swiper ref="zSwiper" v-model="list1" :options="options">
  5. <z-swiper-item v-for="(item,index) in list1" :key="index">
  6. <demo-item :item="item"></demo-item>
  7. </z-swiper-item>
  8. </z-swiper>
  9. <z-swiper :custom-style="{'margin-top':'20rpx'}" ref="zSwiperThumbs" v-model="list2" :options="optionsThumbs" @swiper="setThumbsSwiper">
  10. <z-swiper-item v-for="(item,index) in list2" :key="index">
  11. <demo-item :item="item"></demo-item>
  12. </z-swiper-item>
  13. </z-swiper>
  14. </demo-block>
  15. <demo-block title="反向">
  16. <z-swiper ref="zSwiperInverse" v-model="list1Inverse" :options="optionsInverse">
  17. <z-swiper-item v-for="(item,index) in list1Inverse" :key="index">
  18. <demo-item :item="item"></demo-item>
  19. </z-swiper-item>
  20. </z-swiper>
  21. <z-swiper :custom-style="{'margin-top':'20rpx'}" ref="zSwiperThumbsInverse" v-model="list2Inverse" :options="optionsThumbsInverse"
  22. @swiper="setThumbsSwiperInverse">
  23. <z-swiper-item v-for="(item,index) in list2Inverse" :key="index">
  24. <demo-item :item="item"></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. controller: {
  37. control: null,
  38. inverse: false,
  39. }
  40. },
  41. options: {
  42. controller: {
  43. control: null,
  44. inverse: false,
  45. }
  46. },
  47. optionsThumbsInverse: {
  48. controller: {
  49. control: null,
  50. inverse: true,
  51. }
  52. },
  53. optionsInverse: {
  54. controller: {
  55. control: null,
  56. inverse: true,
  57. }
  58. },
  59. list1: data,
  60. list2: data,
  61. list1Inverse: data,
  62. list2Inverse: data
  63. }
  64. },
  65. methods: {
  66. setThumbsSwiper() {
  67. this.$refs.zSwiper.swiper.on("beforeMount", (swiper) => {
  68. this.$refs.zSwiper.swiper.params.controller.control = this.$refs.zSwiperThumbs.swiper;
  69. })
  70. this.$refs.zSwiperThumbs.swiper.on("beforeMount", (swiper) => {
  71. this.$refs.zSwiperThumbs.swiper.params.controller.control = this.$refs.zSwiper.swiper;
  72. })
  73. },
  74. setThumbsSwiperInverse() {
  75. this.$refs.zSwiperInverse.swiper.on("beforeMount", (swiper) => {
  76. this.$refs.zSwiperInverse.swiper.params.controller.control = this.$refs.zSwiperThumbsInverse.swiper;
  77. })
  78. this.$refs.zSwiperThumbsInverse.swiper.on("beforeMount", (swiper) => {
  79. this.$refs.zSwiperThumbsInverse.swiper.params.controller.control = this.$refs.zSwiperInverse.swiper;
  80. })
  81. },
  82. }
  83. }
  84. </script>