| 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 | | <template> |  |     <div :class="prefixCls" :style="styles"><slot></slot></div> |  | </template> |  | <script> |  |     const prefixCls = 'ivu-carousel-item'; |  |   |  |     export default { |  |         componentName: 'carousel-item', |  |         name: 'CarouselItem', |  |         data () { |  |             return { |  |                 prefixCls: prefixCls, |  |                 width: 0, |  |                 height: 'auto', |  |                 left: 0 |  |             }; |  |         }, |  |         computed: { |  |             styles () { |  |                 return { |  |                     width: `${this.width}px`, |  |                     height: `${this.height}`, |  |                     left: `${this.left}px` |  |                 }; |  |             } |  |         }, |  |         mounted () { |  |             this.$parent.slotChange(); |  |         }, |  |         watch: { |  |             width (val) { |  |                 if (val && this.$parent.loop) { |  |                     this.$nextTick(() => { |  |                         this.$parent.initCopyTrackDom(); |  |                     }); |  |                 } |  |             }, |  |             height (val) { |  |                 if (val && this.$parent.loop) { |  |                     this.$nextTick(() => { |  |                         this.$parent.initCopyTrackDom(); |  |                     }); |  |                 } |  |             } |  |         }, |  |         beforeDestroy () { |  |             this.$parent.slotChange(); |  |         } |  |     }; |  | </script> | 
 |