下面是store文件夾下的state.js和index.js內容
//state.js const state = { headerBgOpacity:0, loginStatus:0, count:66 } export default state
//index.js import Vue from 'vue' import Vuex from 'vuex' import state from './state' import actions from './actions' import getters from './getters' import mutations from './mutations' Vue.use(Vuex) export default new Vuex.Store({ state, actions, getters, mutations })
下面開始在test.vue組件當中使用vuex的state狀態對象
方式一
<template> <div class="test"> {{$store.state.count}} <!--第一種方式--> </div> </template> <script type="text/ecmascript-6"> export default{ name:'test', data(){ return{ } } } </script> <style> </style>
方式二
<template> <div class="test"> {{count}} <!--步驟二--> </div> </template> <script type="text/ecmascript-6"> export default{ name:'test', data(){ return{} }, computed:{ count(){ return this.$store.state.count; //步驟一 } } } </script> <style> </style>
方式三
<template> <div class="test"> {{count}} <!--步驟三--> </div> </template> <script type="text/ecmascript-6"> import {mapState} from 'vuex' //步驟一 export default{ name:'test', data(){ return{} }, computed:mapState({ //步驟二,對象方式 count:state => state.count }) } </script> <style> </style>
方式四
<template> <div class="test"> {{count}} <!--步驟三--> </div> </template> <script type="text/ecmascript-6"> import {mapState} from 'vuex' //步驟一 export default{ name:'test', data(){ return{} }, computed:mapState([ //步驟二,數組方式 "count" ]) } </script> <style> </style>
方式五
<template> <div class="test"> {{count}} <!--步驟三--> </div> </template> <script type="text/ecmascript-6"> import {mapState} from 'vuex' //步驟一 export default{ name:'test', data(){ return{} }, computed:{ ...mapState([ //步驟二,對象擴展運算符方式 "count" ]) } } </script> <style> </style>
以上是使用vuex的state狀態對象的5種方式,在此記錄學習!