1
1
<template >
2
2
<div id =" fullScreenBar" class =" borbox" >
3
- <div class =" scale-box flex flex-ai flex-jcc" >
4
- <span class =" proportion" >{{scale * 5 }}%</span >
5
- <v-slider v-model =" scale" :show-tooltip =" false" step =" 5 " ticks min =" 5 " max =" 100 " hide-details >
3
+ <div class =" scale-box d- flex flex-ai flex-jcc" >
4
+ <span class =" proportion" >{{scale}}%</span >
5
+ <v-slider v-model =" scale" :show-tooltip =" false" step =" 25 " min =" 25 " max =" 500 " hide-details >
6
6
</v-slider >
7
7
</div >
8
- <div class =" opt-list flex" >
9
- <div class =" opt flex flex-ai flex-jcc" @click =" refresh" >
8
+ <div class =" opt-list d- flex" >
9
+ <div class =" opt d- flex flex-ai flex-jcc" @click =" refresh" >
10
10
<i class =" icon iconfont icon-zhongzhi" ></i >
11
11
</div >
12
- <div class =" opt flex flex-ai flex-jcc" @click =" exitFullScreen" >
12
+ <div class =" opt d- flex flex-ai flex-jcc" @click =" exitFullScreen" >
13
13
<i class =" icon iconfont icon-suoxiao" ></i >
14
14
</div >
15
15
</div >
@@ -26,26 +26,36 @@ export default {
26
26
scale: 100 ,
27
27
}
28
28
},
29
+ watch: {
30
+ scale (newScale ) {
31
+ this .changeView (newScale)
32
+ },
33
+ },
29
34
methods: {
30
35
refresh () {
31
36
this .$emit (' runCode' )
37
+ setTimeout (() => {
38
+ console .log (' scale' )
39
+ this .changeView (this .scale )
40
+ }, 500 )
32
41
},
33
42
exitFullScreen () {
34
43
const iframe = this .$props .getIframeBody ()
35
44
const style = iframe .contentWindow .document .body .style
36
- style .transformOrigin = ' 0 0 '
37
- style .transform = ' scale(1) '
45
+ style .transformOrigin = this . transformOrigin
46
+ style .transform = this . transform
38
47
this .$emit (' exitFullScreen' , false )
39
48
},
40
- },
41
- watch: {
42
- scale (newScale ) {
49
+ changeView (newScale ) {
43
50
const iframe = this .$props .getIframeBody ()
44
51
const style = iframe .contentWindow .document .body .style
45
52
newScale /= 100
46
- ! style .transformOrigin && (style .transformOrigin = ' top left' )
47
- style .width = ` calc(100vw/${ newScale} )`
53
+ this .transformOrigin = style .transformOrigin
54
+ this .transform = style .transform
55
+ this .width = style .width
56
+ style .transformOrigin = ' top left'
48
57
style .transform = ` scale(${ newScale} )`
58
+ style .width = ` calc(100vw/${ newScale} )`
49
59
},
50
60
},
51
61
}
0 commit comments