中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

uniapp中怎么使用vuex

發布時間:2023-05-04 17:07:16 來源:億速云 閱讀:158 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“uniapp中怎么使用vuex”,內容詳細,步驟清晰,細節處理妥當,希望這篇“uniapp中怎么使用vuex”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

uniapp中使用vuex(解決uniapp無法在data和template中獲取vuex數據問題)

1. uniapp中引入vuex

1 .在根目錄下新建文件夾store,在此目錄下新建index.js文件(uniapp中有自帶vuex插件,直接引用即可)

uniapp中怎么使用vuex

其中index.js內容為

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
export default new Vuex.Store({
    state: {
        hasLogin: false, // 登錄狀態
        userInfo: {}, // 用戶信息
    },
    mutations: {
        setHasLogin(state, value){
            state.hasLogin = value
            console.log(state.hasLogin)
        }
    },
    actions: {
	     setHasLogin(context) {
	      context.commit('setHasLogin')
	    }
    },
    getters: {
    	reverseLoginStatus(state) {
	      return state.hasLogin = !state.hasLogin
	    }
    }
})

在main.js中導入

import Vue from 'vue'
import App from './App'
//這里
import store from '@/store/index.js'
Vue.config.productionTip = false
//這里
Vue.prototype.$store = store
App.mpType = 'app'
const app = new Vue({
    ...App,
//這里
	store,
})
app.$mount()

2. uniapp中使用vuex

2.1 this.$store直接操作
//獲取state中的值
this.$store.state.loginStatus
//修改state中的值,這里需要在mutations中定義修改的方法,如上setHasLogin
this.$store.commit('setHasLogin', true);
//調用actions中的方法,這里需要在actions中定義方法
this.$store.dispatch('setHasLogin')
//調用getters中的方法,這里需要在getters中定義方法
this.$store.getters.reverseLoginStatus
2.2 通過mapState, mapGetters, mapActions, mapMutations
//頁面內導入vuex的mapState跟mapMutations方法
import { mapState, mapMutations } from 'vuex'
computed: {
  ...mapState(['hasLogin'])
}
methods: {
  ...mapMutations(['setHasLogin']),
}

3. 解決uniapp無法在data和template中獲取vuex數據問題

需要注意的是,原生vuex用多了很容易順手,this.$store.state直接就用,這里直接寫在dom里是獲取不到的。

//直接在temmplate中使用是無法獲取到的
<temmplate>
	<div>{{this.$store.state.loginStatus}}</div>
</temmplate>

解決辦法(如上述2.2的使用):

//這樣就可以使用啦
<temmplate>
	<div>{{this.$store.state.loginStatus}}</div>
</temmplate>
<script>
 	export default {
		computed:{
			loginStatus() {
			    return this.$store.state.loginStatus
			},
		}
	}
</script>

讀到這里,這篇“uniapp中怎么使用vuex”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凌云县| 城口县| 泰兴市| 鄂伦春自治旗| 宁安市| 雅安市| 崇明县| 武川县| 平武县| 合川市| 麻江县| 丰都县| 顺义区| 博野县| 南华县| 旌德县| 文水县| 邢台市| 汉寿县| 始兴县| 内丘县| 龙州县| 凭祥市| 乐平市| 合作市| 桂阳县| 海淀区| 满洲里市| 仁怀市| 乌拉特前旗| 云浮市| 都兰县| 汽车| 阜新市| 长岛县| 合川市| 炉霍县| 视频| 四会市| 全南县| 安仁县|