当前位置: 首页 > wzjs >正文

企业对做营销型网站有什么优势百度游戏排行榜

企业对做营销型网站有什么优势,百度游戏排行榜,可以浏览的外文网站,河南软件开发目录 什么是 Pinia? 为什么选择 Pinia? 基本使用 安装pinia 配置pinia 定义store 使用 持久化插件 什么是 Pinia? Pinia 是一个轻量级的状态管理库,专为 Vue 3 设计。它提供了类似 Vuex 的功能,但 API 更加简…

目录

什么是 Pinia?

为什么选择 Pinia?

基本使用

安装pinia

配置pinia

定义store

使用

持久化插件 


什么是 Pinia?

Pinia 是一个轻量级的状态管理库,专为 Vue 3 设计。它提供了类似 Vuex 的功能,但 API 更加简洁,并且完全支持 TypeScript。Pinia 的设计理念是简单、直观和可扩展,使其成为 Vue 3 生态系统中状态管理的理想选择。

官网:简介 | Pinia

为什么选择 Pinia?

  1. 简单易用:Pinia 的 API 设计简洁,学习曲线平缓。
  2. TypeScript 支持:Pinia 原生支持 TypeScript,提供更好的类型推断和开发体验。
  3. 模块化设计:Pinia 允许你将状态拆分为多个模块,便于维护和扩展。
  4. 插件系统:Pinia 支持插件系统,可以轻松扩展功能(如持久化存储)。

基本使用

pinia的使用步骤:

  1. 在项目中安装pinia
  2. 配置pinia到main.js中
  3. 创建Store并导出
  4. 在 其他组件中引入使用

安装pinia

    需要在控制台使用命令:npm install pinia

配置pinia

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'const app = createApp(App)
const pinia = createPinia() // 创建 Pinia 实例app.use(pinia) // 注册 Pinia
app.mount('#app')

定义store

    在src目录下新建目录stores,在里面创建一个js文件,这里命名为User.js。在该文件使用defineStore函数,定义store的名称,数据或方法,最后导出。具体代码如下:

import { ref, reactive } from "vue";
import { defineStore } from "pinia";export const UserStore = defineStore('UserStore', () => {const user = reactive({name: "张三",age: 19})const num = ref(0)const speak = () => {console.log("userstore");}return {user, num, speak}
})

使用

接下来去其他组件中使用定义好的store。

import { UserStore } from './stores/User';
const user = UserStore()
console.log(user.user.age);

使用pinia定义的数据是所有组件共享的,当某个组件改变了它的值,其他使用了该数据的组件内的值也会随之改变

持久化插件 

把pinia定义好的数据存储到本地的localstore中实现持。久化存储,这时需要使⽤⼀个插件:pinia-plugin-persistedstate。整体使用步骤和pinia差不多。

安装: npm i pinia-plugin-persistedstate

 配置:

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import App from './App.vue'const app = createApp(App)
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate) // 注册持久化插件app.use(pinia)
app.mount('#app')

启用持久化:只需在defineStore加上一个参数即可:


示例:说明数据是共享的,以及数据的持久化

 user.js:

import { ref, reactive } from "vue";
import { defineStore } from "pinia";export const UserStore = defineStore('UserStore', () => {const user = reactive({name: "张三",age: 19})const num = ref(0)const speak = () => {console.log("userstore");}return {user, num, speak}
},{persist: true}
)

app.vue:

<script setup>
import { UserStore } from './stores/User';
import Son from './components/Son.vue';
const user = UserStore()
console.log(user.user.age);const add = ()=>{user.user.age++
}</script><template><div><router-view></router-view><button @click="add">修改一下store内的值</button><Son></Son></div>
</template><style scoped></style>

 

son.vue:

<script setup>
import { UserStore } from '../stores/User';
const user = UserStore()const asd=()=>{console.log(user.user.age);}
console.log(user.user.age);
</script><template><div><button @Click="asd">我是子组件的,点我打印store</button>{{ user.user.age }}</div>
</template><style scoped></style>

 

http://www.dtcms.com/wzjs/266020.html

相关文章:

  • 手机怎么免费建设网站网络推广怎样做
  • 武汉建站系统seo网络优化是做什么的
  • 如何在国外网站做翻译兼职做app找什么公司
  • 酒店网站建设需求分析关键词排名优化报价
  • wordpress 控制台 慢安徽seo优化
  • 广州是不是又有疫情了seo优化总结
  • 网站建设有什么好建议搜一搜
  • 微网站难做么石家庄seo关键词排名
  • 哪个网站做推销产品整站seo优化公司
  • 做品牌特价的网站外链发布平台
  • 广州外贸网站建站百度网站官网入口网址
  • 潼南县大潼建设有限公司网站刚刚地震最新消息今天
  • 专业的深圳网站建设百度地图导航网页版
  • o2o网站设计方案公司宣传软文
  • 智联招聘网站怎么做两份简历模板吉林网络推广公司
  • 企业网站每天更新seo外包资讯
  • 做网页怎么建站点免费加客源软件
  • 松江网站开发培训学校广州疫情最新消息
  • 企业宣传网站系统建设方案网站搭建需要什么
  • 网站域名注册哪个好无锡百度信息流
  • 网站账号注册程序站长检测工具
  • 深圳精美网站设计百度平台商家客服
  • wordpress小程序模板seo推广是什么意思
  • 重庆网络建站推广宣传文案
  • 网站开发确认书惠州seo排名
  • 工具类网站怎么优化seo百度客服人工在线咨询电话
  • 盐城网站建设招聘关键词优化报价怎么样
  • 南京做公司网站临沂做网站推广的公司
  • 俄罗斯b2b常用网站宜昌seo
  • 手机网站js触屏滑动图片特效友情链接作用