美文网首页uin-app简明uniapp教程
uniapp—全局状态管理机制Vuex的使用

uniapp—全局状态管理机制Vuex的使用

作者: 瑟闻风倾 | 来源:发表于2020-04-03 14:55 被阅读0次

vue是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

示例如下
(1) 在根目录下创建 stroe/index.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 创建一个 store
const store = new Vuex.Store({
    // (1)初始 state 对象
    state:{
        hasLogin: false,
        token: "",
        company:"未知",
        userInfo: {
            "name": "未知",
            "role": "未知",
            "age": 0
        },
    },
    // (2)定义一些mutation
    mutations:{
        change(state,company){
            state.company = company;
        },
        login(state,token,userInfo) {
            state.hasLogin = true;
            state.token = token;
            state.userInfo = userInfo;
        },
        logout(state) {
            state.hasLogin = false;
            state.token = "";
        },
        celarUserInfo(state) {
            state.userInfo = {
                "name": "",
                "role": "",
                "age": 0
            };
        },
    }
})

// 导出该模块:以便其他文件可对其进行使用
export default store

在JavaScript ES6中,export与export default均可用于导出常量、函数、文件、模块等;并在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式将其导入,以便能够对其进行使用;但在一个文件或模块中,export、import可以有多个,export default仅有一个。

(2) 在main.js中挂在Vuex

import store from './store'
Vue.prototype.$store = store;

(3) 获取状态对象与触发状态变更

<template>
    <view>
        <text>名称:{{company}}</text>
        <button type="primary" @tap="onChange()">更改</button>
    </view>
</template>

<script>
    import {mapState,mapMutations} from 'vuex';
    export default {
        data() {
            return {
                
            }
        },
        computed:{
            ...mapState(['company'])
        },
        methods: {
            onChange : function(){
                this.$store.commit('change', 'jk');//通过 store.commit 方法触发状态变更
               }
        },
        onLoad() {
        
        }
    }
</script>

<style>

</style>

说明:使用 Vuex 保证了变量在全局的统一性,可以在实际开发中进行对应场景的应用。

相关文章

  • uniapp—全局状态管理机制Vuex的使用

    vue是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规...

  • 学习vue2.0笔记(第五章下)

    状态管理插件vuex 状态管理机制 安装 import导入,注册,实例化, 全局使用store, 通过this.$...

  • uniapp全局使用websocket

    我们通过vuex来实现全局状态管理,uniapp中内置了vuex,可以直接引入使用。在根目录下新建store文件夹...

  • vuex

    VUEX的使用 vuex的作用: 常用来作为全局状态管理器, 定义一个状态全局可用,部分功能与缓存类似,但是vue...

  • 具体什么情况下适合使合Vuex?Vuex使用中有几个步骤?

    要想知道什么情况下适合使用Vuex,就要先知道Vuex是什么。 Vuex是一个状态管理机制,采用集中式存储应用所有...

  • 全局状态vuex

    核心: mutations是唯一一个更改state的地方,是同步的接受的参数是state actions里装的都是...

  • uniapp 中 vuex调试

    uniapp中内置了vuex依赖,在微信小程序中为了更方便的调试vuex相关数据,使用vuex中的createLo...

  • uniapp | 使用Vuex

    Vuex 使用

  • uniApp 使用vuex

    vuex 就不多做介绍啦,大家都明白uniApp内已经内嵌了vuex,直接挂载使用就好啦 根目录创建store目录...

  • Vuex

    1.Vuex概述 2.Vuex基本使用 3.使用Vuex完成todo案例 1.Vuex概述 Vuex是实现组件全局...

网友评论

    本文标题:uniapp—全局状态管理机制Vuex的使用

    本文链接:https://www.haomeiwen.com/subject/owihphtx.html