pinia

在这里插入图片描述

再mian.js中,导入和注册


import {createPinia} from 'pinia'
const pinia =createPinia()
app.use(pinia)

在store文件夹下

import { defineStore} from 'pinia'
const useTabbarStore =defineStore("tabbar",{
state(){
	returen {
		isTabbarShwo:true
}
}
})

简写

import { defineStore} from 'pinia'
const useTabbarStore =defineStore("tabbar",{
state:(){
		isTabbarShwo:true//因为返回的当时对象所以要把()变成{}
}),
actions:{
	change(value){
	this.isTabbarShow=value
}
}
})
export defalut useTabbarStore

在app.vue中使用

<Tabbar v-if="store.istabbarShow">
<script setup>
import useTabbarStore from './store/tabbarStore'
 const store=useTabbarStore()
 store.istabbrshow=false

store.change(true)
 //如果你想这样写<Tabbar v-if="istabbarShow">
//store 是一个reactive包装的对象,
//不能直接结构,能使用到值,但是失去响应式了
// const {istabbrshow }= useTabbarStore  
除非这样写
 const store=useTabbarStore()
  const {istabbrshow }= storeToRefs(store)
  

对比以前的写法

this.$store.state.isTabbarShow=false 

store.$patch的使用

onBeforeUnmount(()=>{
	store.$patch({
		isTabbarShow:true
})

})

作用:可以补丁式的将对象里的归并到store中的对象
store.$reset()

store.reset() //将设置store为初始值

voa中如何使用pinia

<script>
import useTabbarStore from './store/tabbarStore'
export defalut {
	computed:{
	...mapState(useTabbarStore ,["istabbarShow"])
},
methods:{
	...mapActions(useTabbarStore .["change"])
}

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值