【Java Web】Pinia实现组件间数据共享

目录

一、Pinia概述

二、Pinia基本用法


一、Pinia概述

在前端工程化的开发环境中,当多个组件(.vue)文件需要使用同一个数据对象时,传统的方法可以使用组件传参或者路由传参来解决但此两种方式都有自己的缺点。pinia可以将多个组件需要共享使用的数据单独在一个.js文件中定义,然后将其数据对象导出,这样其它组件导入该数据对象之后就可以共享此由pinia定义的数据对象且此数据对象默认是响应类型的数据。

二、Pinia基本用法

步骤:

①单独创建的js文件专门定义pinia公共数据

②导入定义pinia共享数据的函数

③使用defineStore()定义公共共享的数据

④将定义的共享数据返回的实例函数导出

⑤在main.js文件中应用pinia共享的数据

⑥组件文件(.vue)中使用pinia定义的共享数据

    1、导入pinia定义的共享数据导出的函数实例

    2、调用函数实例获取其返回的pinia共享数据实例对象

    3、通过实例对象使用pinia定义的公共数据

store.js

//导入定义pinia共享数据的函数

import {defineStore} from 'pinia'

 

//定义pinia共享的数据并返回一个实例函数

const definePerson=defineStore({

    id:"personPinia",   //当前共享数据的全局唯一ID。也可以单独作为一个字符串参数作为形参1

    state:()=>{    //定义的响应式pinia共享数据

        return {

            username:"Orion",

            age:24,

            hobbies:["唱歌","跑步","打篮球"]

        }

    },

    getters:{   //定义pinia共享数据的get方法,只能获取值

        getAge(){

            return this.age

        },

        gethobbiesCount(){

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Orion.Guan山月润无声

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值