| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | <template>	<view class="content">		<page-head :title="title"></page-head>		<view class="example">			<view class="example-title">从左侧滑出</view>			<button @click="showDrawer">显示抽屉</button>		</view>		<view class="example">			<view class="example-title">从上侧竖向滑出</view>			<button @click="showPopup">显示 弹出层</button>		</view>		<view style="width: 100%;">			<video v-if="showVideo" id="video"			@play="playVideo"			@pause="closeMask"			:controls="false"			src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20181126-lite.m4v"			@error="videoErrorCallback" poster="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b1476d40-4e5f-11eb-b997-9918a5dda011.png"></video>		</view>	</view></template><script>	export default {		data() {			return {				title: 'SubNvue',				showVideo: false			};		},		onLoad() {			this.closeMask();			// 接收 popup 的消息			uni.$on('popup-page', (data) => {				switch(data.type){					case 'interactive':						uni.showModal({							title: '来自Popup的消息',							content: data.info						})						break;					default:						uni.showToast({							title: data.title,						})						break;				}			})			// 监听 drawer 消息			uni.$on('drawer-page', (data) => {				uni.showToast({					title: '点击了第' + data + '项',					icon:"none"				});			})		},		onUnload() {			uni.$off('popup-page')			uni.$off('drawer-page')		},		onReady() {			this.showVideo = true		},		methods: {			showDrawer() {				uni.getSubNVueById('drawer').show('slide-in-left', 200);			},		    showPopup() {				// 向 popup 传递消息				uni.$emit('page-popup', {					title: '请阅读软件内容',					content: 'uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。'				});				const subNVue = uni.getSubNVueById('popup')		        subNVue.show('slide-in-top', 250)		    },			videoErrorCallback: function() {				uni.showModal({					content: '视频加载失败',					showCancel: false				})			},			playVideo() {				let subNVue = uni.getSubNVueById('video_mask')				subNVue.show('fade-in', 200, () => {					uni.$emit('play-video', {						status: 'open',					})				})			},			closeMask() {				let subNVue = uni.getSubNVueById('video_mask')				uni.$emit('close-video', {					status: 'close',				})				subNVue.hide('fade-out', 200)			},		}	}</script><style>	.content {		align-content: center;	    height: 100%;		background-color: #F4F5F6;	}	.example {		padding: 0 10px 10px	}	.example-title {		font-size: 14px;		line-height: 14px;		color: #777;		margin: 40px 2rpx;		position: relative	}	video {		position: absolute;		bottom: 30px;		left: 0;		width: 100%;		height: 200px;	}	.example .example-title {		margin: 40rpx 0	}	button {		background-color: #f8f8f8;	}	.title {	    font-size: 20px;		text-align: center;	    color: #8f8f94;	}</style>
 |