vue3-回顾之,状态管理神器 大菠萝- pinia
2023-12-30 16:28:16
1.使用 pinia
pnpm i pinia
2.按照工程化目录创建store
import { defineStore } from 'pinia';
interface stu {
name: string,
age: number
}
const userNumStore=defineStore('numStore',{
//选项api
actions:{
add(val:number){
this.num=this.num+val
}
},
state() {
return{
num:23,
stu:{
name:'王祥林',
age:20
}
}
},
getters:{
sumNum(state){
return state.num*100+90
},
stuInfo():stu{
return this.stu
}
}
})
export {userNumStore}
3.main.ts中配置大菠萝
import { createPinia } from 'pinia'
app.use(createPinia())
4、view层使用
import { userNumStore } from "../store/count";
import { storeToRefs } from "pinia";
const userNum = userNumStore();
//结构出来的具有响应式
// let { num, stu, stuInfo, sumNum } = storeToRefs(userNum);
let { num, stu } = storeToRefs(userNum);
以上是选项式写法
5.下面组合式使用
import { ref } from 'vue'
export const userNumStore = defineStore('numStore', () => {
let num = ref(100)
let stu = ref({
name: '王祥林',
age: 20
})
const add = (val: number) => {
num.value += val + num.value
}
return { add, num, stu }
})
文章来源:https://blog.csdn.net/qq_30519365/article/details/135306414
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!