| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | <template>    <view class="root">        <view class="page-body">            <view class="new-page__color" @click="setColorIndex(colorIndex>1?0:colorIndex+1)" :style="{backgroundColor:currentColor}">                <text class="new-page__color-text">点击改变颜色</text>            </view>            <view class="new-page__text-box">                <text class="new-page__text">点击上方色块使用vuex在页面之间进行通讯</text>            </view>            <view class="new-page__button">                <button class="new-page__button-item" @click="emitMsg">向上一页面传递数据</button>            </view>        </view>    </view></template><script>    import {        mapState,        mapGetters,        mapMutations    } from 'vuex'    export default {        data() {            return {}        },        computed: {            ...mapState(['colorIndex', 'colorList']),            ...mapGetters(['currentColor'])        },        methods: {            ...mapMutations(['setColorIndex']),            emitMsg() {                uni.$emit('postMsg', {                    msg: 'From: Vue Page'                })            }        }    }</script><style>    .new-page__text {        font-size: 14px;        color: #666666;    }    .root {        display: flex;        flex: 1;        flex-direction: column;    }    .page-body {        flex: 1;        display: flex;        flex-direction: column;        justify-content: flex-start;        align-items: center;        padding-top: 50px;    }    .new-page__text-box {        padding: 20px;    }    .new-page__color {        display: flex;        width: 200px;        height: 100px;        justify-content: center;        align-items: center;    }    .new-page__color-text {        font-size: 14px;        color: #FFFFFF;        line-height: 30px;        text-align: center;    }    .new-page__button-item {        margin-top: 15px;        width: 300px;    }</style>
 |