搭建pinia环境及存储读取数据.

搭建pinia环境

  1. 我们想要使用pinia,我们首先需要安装它
  1. 之后我们就三步,引入、创建、安装

    • 引入、创建、安装pinia
    vue 复制代码
    //引入createApp创建应用
    import { createApp } from 'vue'
    //引入App根组件
    import App from './App.vue'
    //1.引入pinia
    import { createPinia } from 'pinia'
    //2.创建pinia实例
    const pinia = createPinia()
    
    
    
    const app = createApp(App)
    //3.将pinia实例挂载到应用实例上
    app.use(pinia)
    app.mount('#app')
    1. pinia需要一个统一管理的文件夹,名称叫store
    • 这个文件夹的作用如下
      • 状态集中管理,可以将各个组件的状态统一在这里管理起来
      • 逻辑复用,多个组件可以调用同一个人store的方法
      • 模块化设计,可以将不同的功能划分不同的store
  2. 我们在上面创建了store文件夹,并对我们之前求和的逻辑创建了一个store的方法来存储数据

js 复制代码
import { defineStore } from 'pinia'
export const useCountStore = defineStore('count', {
    //存储数据的地方
    state: () => ({
        sum: 6
    })
})
  1. 数据既然已经存储好了,那么现在我们就需要从组件中去获取数据了
js 复制代码
import { ref } from 'vue';
import { useCountStore } from '../store/sum';
const countStore = useCountStore();
     <h2>当前求和为:{{ countStore.sum }}</h2>
  • 这样我们就可以读取到存储的数据了
  1. 求和的弄好了,那生成诗句的组件也是一样的了
js 复制代码
import { defineStore } from 'pinia'

export const useCountStore = defineStore('poem', {
    state: () => (
        [
            { id: 'poem0001', content: '鹅鹅鹅' },
            { id: 'poem0002', content: '曲项向天歌' },
            { id: 'poem0003', content: '白毛浮绿水' },
            { id: 'poem0004', content: '红掌拨清波' }
        ]
    )
})
  1. 之后我们就可以在组件中使用了
vue 复制代码
import { defineStore } from 'pinia'

export const usePoemStore = defineStore('poem', {
    // 存储数据的地方 - 箭头函数形式
    state: () => ({
        poemList: [
            { id: 'poem0001', content: '鹅鹅鹅' },
            { id: 'poem0002', content: '曲项向天歌' },
            { id: 'poem0003', content: '白毛浮绿水' },
            { id: 'poem0004', content: '红掌拨清波' }
        ]
    })
})
vue 复制代码
 <ul>
            <li v-for="poem in poemStore.poemList" :key="poem.id">{{ poem.content }}</li>
        </ul>

这样我们就完成了在pinia中存储和读取诗句的方法,后面我们将一起学习关于如何去修改数据的知识方法

相关推荐
程序员黑豆5 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC5 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea5 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望6 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少6 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波0076 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis7 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝8 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师8 小时前
新兴多智能体系统的模式与问题
前端
用户059540174469 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css