vue2使用的vuex,是一个状态管理器,现在vue3出了最新的pinia,今年偿试一下。

首先是安装,这里要注意一下,有一个持久化插件,如果不用的话,页面一刷新,状态会消失。

npm install pinia -- 安装pinia

npm install pinia-plugin-persist. --安装持久化插件

在main.js中,添加引用

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { createPinia } from 'pinia'
import piniaPersist from 'pinia-plugin-persist'
const pinia = createPinia()
pinia.use(piniaPersist) --使用持久化插件
const app = createApp(App);
app.use(pinia)
app.mount('#app')

新建store.js文件

import { defineStore } from "pinia";
const useUsersStore = defineStore('users',{
state:()=>{
return {
name:'admin',
age:20,
sex:'男'
}
},
persist:{
enabled:true --这个是开关,打开就是持久化
}
})
export {useUsersStore}

页面的使用

<template>
<div>
<div>name:{{ name }}</div>
<div>age:{{ age }}</div>
<div>sex:{{ sex }}</div>
<button @click="change">改变</button>
</div>
</template> <script>
import { useUsersStore } from './store/userstore'
import { storeToRefs } from 'pinia';
export default {
setup() {
const store = useUsersStore();
const { name, sex, age } = storeToRefs(store) --用了这个可以实现双向绑定,值跟着改变
const change = () => {
store.age++;
}
return { age, name, sex, change }
}
}
</script> <style> </style>

运行一下,可以添加年龄,而且状态不会消失。

Pinia使用技巧的更多相关文章

  1. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  2. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  3. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  4. 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

    如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...

  5. 15个关于Chrome的开发必备小技巧[译]

    谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...

  6. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  7. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  8. Function.prototype.toString 的使用技巧

    Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...

  9. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  10. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

随机推荐

  1. Appium + Python xpath定位

    本文转自:https://www.cnblogs.com/yoyoketang/p/9174749.html 基本属性定位 以淘宝app为例,定位左上角扫一扫按钮 1.可以通过text文本定位到 // ...

  2. Windows 操作

    一.基础命令 1. 盘符切换:D:: 2. 查看当前目录文件:dir: 3. 当前盘符内目录切换:cd path: 二.其他命令 1. netstat:查看网络端口状态 A. 查看某一端口信息:net ...

  3. 052_Lightning

    不支持内容: JavaScript buttons, customizable forecasting, and customizable tabs. 设置部分User选择使用Lightning: 单 ...

  4. echars简单使用

    引入js <script type="text/javascript" src="js/echarts.js" ></script> 记 ...

  5. Redis设计实现-学习笔记

    最近在准备面试,问到redis相关知识,只能说个皮毛,说的既不深入也不全面,所以抓紧突击一下,先学<redis设计与实现>. 选择看书的原因是: 书中全面深入,且能出书一定十分用心: 搜博 ...

  6. Promise缺点

    1.Promise 不能用try Catch捕获,只能通过.then的第二个参数或者.catch来捕获: let pro try{ pro = new Promise((resolve,reject) ...

  7. 【2020NOI.AC省选模拟#7】C. 逃课

    题目链接 原题解: 我们需要找出两个距离不超过$k-1$的位置,使他们的和尽量大. 被修改过得位置比较少,所以我们可以先求出连个位置都没有被修改过的答案,然后只关心那些涉及到至少一个被修改过的位置的方 ...

  8. 搭建 vue 项目

    前提  :  node 环境 也可以用 cnpm (淘宝镜像 npm install -g cnpm –registry=https://registry.npm.taobao.org) 全局安装vu ...

  9. 【jmeter】请求域名解析失败,添加本地代理

    jmeter HTTP请求URL中使用域名 http://xxx.xxx.xxx,异常:java.net.UnkownHostException 原因:请求域名没有被解析成功,该http请求没有通过本 ...

  10. 查看Linux 日志

    # 直接定位到第100行 less +100g xx.log   # 定位到最后一行 less +GG xx.log   # 定位到第100个字节的位置 less +100P xx.log   # 直 ...