lifecycle.vue 1.8 KB
Newer Older
杜庆泉's avatar
杜庆泉 已提交
1

杜庆泉's avatar
杜庆泉 已提交
2
<template>
杜庆泉's avatar
杜庆泉 已提交
3 4
	<view>
		<page-head :title="title"></page-head>
杜庆泉's avatar
杜庆泉 已提交
5 6
		<button @tap="testGoOtherActivity">跳转选择界面</button>
		<image :src="selectImage" v-if="selectImage"></image>
7
		<button @tap="testUnRegLifecycle">取消注册周期函数</button>
杜庆泉's avatar
杜庆泉 已提交
8 9 10 11 12 13 14 15
		<view class="uni-padding-wrap uni-common-mt">
			<view class="uni-hello-text">
				1. 当前页面已通过initAppLifecycle函数注册了生命周期监听。
			</view>
			<view class="uni-hello-text">
				2. 手动切换其他APP再返回,可在控制台和界面观察事件日志
			</view>
		</view>
杜庆泉's avatar
杜庆泉 已提交
16 17 18 19 20 21
		<view class="uni-padding-wrap uni-common-mt">
			<view class="text-box" scroll-y="true">
				<text>{{text}}</text>
			</view>
		</view>
	</view>
杜庆泉's avatar
杜庆泉 已提交
22
</template>
杜庆泉's avatar
杜庆泉 已提交
23
<script>
24
	import { initAppLifecycle,unRegLifecycle,goOtherActivity } from '../../uni_modules/uts-advance';
杜庆泉's avatar
杜庆泉 已提交
25 26 27 28 29
	export default {
		data() {
			return {
				title: '生命周期监听',
				text: '',
杜庆泉's avatar
杜庆泉 已提交
30
				selectImage:""
杜庆泉's avatar
杜庆泉 已提交
31 32 33 34
			}
		},
		onLoad:function(){
			let that = this;
杜庆泉's avatar
杜庆泉 已提交
35 36 37
			initAppLifecycle(function(eventLog){
				// 展示捕捉到的声明周期日志
				that.text = that.text += eventLog;
杜庆泉's avatar
杜庆泉 已提交
38 39
				that.text = that.text += '\n';
			});
杜庆泉's avatar
杜庆泉 已提交
40 41 42 43 44 45 46 47 48 49 50 51
		},
		methods:{
			testGoOtherActivity(){
				var that = this;
				let ret = goOtherActivity(function(file){
					// 展示捕捉到的声明周期日志
					console.log(file);
					that.selectImage = "file://" + file;
				});
				
				if(!ret){
					uni.showToast({
杜庆泉's avatar
杜庆泉 已提交
52
						icon:'none',
杜庆泉's avatar
杜庆泉 已提交
53 54 55
						title:'请授予权限后重试'
					})
				}
56 57 58 59
			},
			testUnRegLifecycle(){
				// 取消注册生命周期
				unRegLifecycle();
杜庆泉's avatar
杜庆泉 已提交
60
			}
杜庆泉's avatar
杜庆泉 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
		}
	}
</script>

<style>
	.text-box {
		margin-bottom: 40rpx;
		padding: 40rpx 0;
		display: flex;
		min-height: 300rpx;
		background-color: #FFFFFF;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: 30rpx;
		color: #353535;
		line-height: 1.8;
	}
</style>