11<template >
22 <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 >
66 </v-slider >
77 </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" >
1010 <i class =" icon iconfont icon-zhongzhi" ></i >
1111 </div >
12- <div class =" opt flex flex-ai flex-jcc" @click =" exitFullScreen" >
12+ <div class =" opt d- flex flex-ai flex-jcc" @click =" exitFullScreen" >
1313 <i class =" icon iconfont icon-suoxiao" ></i >
1414 </div >
1515 </div >
@@ -26,26 +26,36 @@ export default {
2626 scale: 100 ,
2727 }
2828 },
29+ watch: {
30+ scale (newScale ) {
31+ this .changeView (newScale)
32+ },
33+ },
2934 methods: {
3035 refresh () {
3136 this .$emit (' runCode' )
37+ setTimeout (() => {
38+ console .log (' scale' )
39+ this .changeView (this .scale )
40+ }, 500 )
3241 },
3342 exitFullScreen () {
3443 const iframe = this .$props .getIframeBody ()
3544 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
3847 this .$emit (' exitFullScreen' , false )
3948 },
40- },
41- watch: {
42- scale (newScale ) {
49+ changeView (newScale ) {
4350 const iframe = this .$props .getIframeBody ()
4451 const style = iframe .contentWindow .document .body .style
4552 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'
4857 style .transform = ` scale(${ newScale} )`
58+ style .width = ` calc(100vw/${ newScale} )`
4959 },
5060 },
5161}
0 commit comments