| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <template>	<view class="grace-shade" ref="graceShade" 	:style="{backgroundColor:background, left:left}" 	@tap.stop="closeShade" @touchmove.stop.prevent="">		<slot></slot>	</view></template><script>var animation = weex.requireModule('animation');const dom = weex.requireModule('dom');export default{	props:{		background : {type:String, default:"rgba(0, 0, 0, 0.1)"},		zIndex : {type:Number, default:1},		show : {type:Boolean, default:true}	},	data() {		return {			left : '-2000px'		}	},	created:function(){		if(this.show){ this.showIt(); }else{ this.hideIt();}	},	watch:{		show:function(val){			if(val){ this.showIt(); }else{ this.hideIt(); }		}	},	methods:{		closeShade : function(){this.$emit('closeShade');},		showIt : function(){			this.left = '0px';			var graceShade = this.$refs.graceShade;			animation.transition(graceShade, {				styles: {opacity:1},				duration:280, 				timingFunction: 'ease',				needLayout:false,				delay: 0 			});		},		hideIt : function(){			var graceShade = this.$refs.graceShade;			animation.transition(graceShade, {				styles: {opacity:0},				duration:280, 				timingFunction: 'ease',				needLayout:false,				delay: 0 			});			setTimeout(()=>{				this.left = '0px';			}, 280);		}	}}</script><style scoped>.grace-shade{position:fixed; width:750rpx; left:-2000px; opacity:0; top:0; bottom:0; z-index:1; justify-content:center; align-items:center;}</style>
 |