carousel.vue 996 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div class="height_100">
  3. <el-carousel :interval="4000" :height="height+'px'">
  4. <el-carousel-item v-for="item in srcList" :key="item.src" >
  5. <el-image :src="require('@/assets/' + item.src)" class="medium"></el-image>
  6. </el-carousel-item>
  7. </el-carousel>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. components: {},
  13. props: {},
  14. data() {
  15. return {
  16. srcList: [
  17. { src: 'lun1.jpg' },
  18. { src: 'lun2.jpg' },
  19. { src: 'lun3.jpg' },
  20. ],
  21. height:0
  22. };
  23. },
  24. watch: {},
  25. computed: {},
  26. created() {},
  27. mounted() {
  28. this.getHeight()
  29. window.addEventListener('resize',this.getHeight)
  30. },
  31. methods: {
  32. getHeight(){
  33. var offsetWidth = document.body.clientWidth
  34. this.height = (5 / 16) * offsetWidth
  35. }
  36. },
  37. deactivated(){
  38. window.removeEventListener('resize',()=>{})
  39. }
  40. };
  41. </script>
  42. <style lang="scss" scoped>
  43. .medium {
  44. width: 100%;
  45. height: 100%;
  46. object-fit: cover;
  47. }
  48. </style>