<template>
	<view class="pa">
		<view class="uni-divider">
			<view class="uni-divider__content">globalData</view>
			<view class="uni-divider__line"></view>
		</view>
		<text class="text">globalData中text的值: {{gd.test}}</text>
		<button @click="setGD()" class="button">修改上述值为123</button>

		<view class="uni-divider">
			<view class="uni-divider__content">vuex</view>
			<view class="uni-divider__line"></view>
		</view>
		<text class="text">vuex中hasLogin的值: {{testvuex}}</text>
		<button @click="setVUEX(true)" class="button">修改上述值为true</button>
		<button @click="setVUEX(false)" class="button">修改上述值为false</button>
	</view>
</template>

<script>
	import {
		mapState,
		mapMutations
	} from 'vuex'
	export default {
		data() {
			return {
				gd:{}
			}
		},
		computed: {
			...mapState(['testvuex'])
		},
		methods: {
			...mapMutations(['setTestTrue']),
			...mapMutations(['setTestFalse']),
			setGD:function () {
				this.gd.test="123"
			},
			setVUEX:function (isTrue) {
				// console.log("this.testvuex: " + this.testvuex);
				// this.hasLogin = true; 这样赋值不生效,必须用store/index.js里注册的mapMutations才行
				if(isTrue){
					this.setTestTrue(this.$store.state);
				}
				else{
					this.setTestFalse(this.$store.state);
				}
				// console.log("this.testvuex: " + this.testvuex);
			}
		},
		onShow() {
			this.gd = getApp().globalData
		}
	}
</script>

<style>
.button {
	margin: 30rpx;
	color: #007AFF;
}
.text{
	margin-left: 30rpx;
}
</style>