state 和 getters 的代码实例
使用 : <template> <div class="id"> <h3>姓名: {{ userStore.name }}</h3> <h3>年龄: {{ userStore.age }}</h3> <h3>等级: {{ userStore.level }}</h3> <h3>简化版姓名: {{ name }}</h3> <h3>简化版年龄: {{ age }}</h3> <h3>简化版等级: {{ level }}</h3> <button @click="changge">修改信息</button> <button @click="chang">简易版修改信息</button> <button @click="reset">重置信息</button> <h3>语句 : {{userStore.ageAdd}}</h3> <h3>语句 : {{userStore.ageAddOne}}</h3> <h3>查找id : {{ userStore.chaFirend(13) }}</h3> <h3>调用其他store的信息 : {{ userStore.showMeaage }}</h3> </div> </template> <script setup> import useUser from './stores/user' import { toRefs } from 'vue' const userStore = useUser() // 简化版本 const { name,age,level } = toRefs(userStore) // 直接修改state的值 const changge = ()=>{ userStore.name = '无理由', userStore.age = 40, userStore.level = 999 } // 简易版修改state的值 const chang = ()=>{ userStore.$patch({ name : '简化版无理由', age : 88, level : 88 }) } // 重置信息 const reset = ()=>{ userStore.$reset() } </script> <style> </style>
user.js
import { defineStore } from 'pinia'
// 用到其他store的信息
import useCounter from './counter'
const useUser = defineStore('user',{
state:()=>({
name:'吴宇腾',
age:29,
level:1,
firends:[
{id:11,name:'why1'},
{id:12,name:'why2'},
{id:13,name:'why3'},
]
}),
getters:{
// 1.基本使用
// 第一个参数 : state
ageAdd(state){
return `姓名 : ${state.name} , 年龄 : ${state.age} , 等级 :${state.level}`
},
// 2.一个getter引入另外一个getter 通过this来引入
ageAddOne(){
return `${this.ageAdd} 加上第二句话`
},
// 3.getters支持返回一个函数
chaFirend(state){
return function(id){
return state.firends.find(v=>{
return v.id == id
})
}
},
// 4.getters用到别的store的数据
showMeaage(){
// 获取到另外store的信息
const CounterStore = useCounter()
return `CounterStore:${CounterStore.count} - ${this.ageAddOne}`
}
}
})
export default useUser
本文来自博客园,作者:杨建鑫,转载请注明原文链接:https://www.cnblogs.com/qd-lbxx/p/16641952.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现