vuex 简单使用步骤

836 阅读1分钟

如何使用vuex?

1.在src目录下创建目录vuex,分别创建:

index.js(store.js), state.js, Mutation.js, getters.js, actions.js

分别有什么作用?

state: 用来共享数据存储

Mutation:用来注册 改变数据状态

getters: 用来对数据进行过滤

actions: 用来解决异步 改变共享数据

2.以上四个特性,放入index.js中进行store的实列化

3.在mian.js

import store from './vuex'

new Vue({
  el: '#app',
  router,
  store, // vuex store
  components: { App },
  template: '<App/>'
})

注意:内置插件logger是:Vuex 自带一个日志插件用于一般的调试,仅在开发环境使用。

createLogger 函数有几个配置项: (详见官网,我这没用的)

vue-devtools是一款基于chrome的插件,用于调试vue,介绍一下vue-devtools的安装:

chrome商店搜索vue-devtools直接安装,前提是需要翻墙!

以上完成,就可以使用vuex了。

利用vuex 实现请求数据时加载中...

组件:loading.vue

<template>
    <div v-if="this.$store.state.loading" class="loading">
        加载中..
    </div>
</template>

<script>
import store from './../store/store.js'
export default{
    data(){
    	return{
    	}
    },
    components: {
        store
    }	
}
</script>

<style scoped lang="less">
.loading{
	position: fixed;
	height: 100%;
	width:100%;
	left: 0;
	top: 0;
	z-index: 200;
	background:#FFFFFF;
	text-align: center;
	padding-top: 4.0rem;
	font-size: 0.28rem;
}
</style>

创建文件夹store, 目录store/store.js

一个简易版的请求数据时加载就差不多,我只是在首屏请求数据时使用。并没做axios二次封装!

在app.vue内引入组件-注册-使用

import Loading from './components/loading.vue'

components: {
    Loading
}

最后最后直接在任何.vue的axios内使用:

this.$store.state.loading = true/false;

在学习中留下笔记,勿喷。end