状态管理

作为前端的vue开发管理,怎么会能缺失状态管理呢。还是要先推荐下: piniaopen in new window

pinia

项目已集成 pinia ,提供状态管理的能力,封装一些胶水代码,可以直接定义 store 使用。 下面使用setup方式定义的例子:

// 文件地址:src/stores/testStore.js
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useTestStore = defineStore('testStore', () => {
	const showDiv = ref(false)
	const temperature = ref(0)
	function setShowDiv (show) {
		showDiv.value = show
	}
	function setTemperature (v) {
		temperature.value = v
	}
	//导出参数
	return { showDiv, temperature, setShowDiv, setTemperature }
})

下面是使用 刚定义的testStore 例子:

<script setup lang="ts">
import { useTestStore } from 'src/stores/testStore'
const testStore = useTestStore()

// 拿参数
console.log(testStore.showDiv.value,testStore.temperature.value)

// 直接设置参数
testStore.$patch({ showDiv: true })
testStore.$patch({ temperature: 10 })

// 调用函数
testStore.setShowDiv(false)
testStore.setTemperature(10)
</script>

TIP

vuex

WARNING

vue3+ 官方推荐使用pinia,不在推荐使用 vuex,所以本项目中没有直接集成。

如果项目限制要求必须使用vuex时,也可以跳转这里,集成的也很体面巴士:@fesjs/plugin-vuexopen in new window

本页目录