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

Pinia状态管理工具速成

一、介绍
main.js展现了对Pinia的引用,这里与引用Vuex是类似的,而且并没有像Vuex一样在store/index.js在文件中进行相关的配置,而是直接的使用。

main.js

import './assets/main.css'import { createApp } from 'vue'
import { createPinia } from 'pinia'import App from './App.vue'
import router from './router'const app = createApp(App)app.use(createPinia())
app.use(router)app.mount('#app')

store/counter.js

import { ref, computed } from 'vue'
import { defineStore } from 'pinia'export const useCounterStore = defineStore('counter', () => {const count = ref(0)const doubleCount = computed(() => count.value * 2)function increment() {count.value++}return { count, doubleCount, increment }
})

export const useCounterStore = defineStore('counter', () => {})这里类似于Vuex中的modules

const count = ref(0)这里类似于Vuex中的state
const doubleCount = computed(() => count.value * 2)这里类似于Vuex中的getters

 function increment() {count.value++}这里类似于Vuex中的actions

mutation概念是不存在的,只要封装了的话就是actions



相较于Vuex更直观、简洁



二、Pinia实战案例

<script setup>
import { useCounterStore } from '../stores/counter'
const countStore = useCounterStore()
</script><template><div class="about"><h3>count:{{ countStore.count }}</h3><p>------------</p><h3>2*count:{{ countStore.doubleCount }}</h3><button @click="countStore.increment()">+1</button></div>
</template><style>
@media (min-width: 1024px) {.about {min-height: 100vh;display: flex;align-items: center;}
}
</style>

导入并创建示例
import { useCounterStore } from '../stores/counter'

const countStore = useCounterStore()

引用

<h3>count:{{ countStore.count }}</h3>

<p>------------</p>

<h3>2*count:{{ countStore.doubleCount }}</h3>

<button @click="countStore.increment()">+1</button>

 

相关文章:

  • 【NLP】 28. 语言模型的评估方式:MRR, PERPLEXITY, BLEU, WER从困惑度到实际效果
  • C++ 类与对象(下)—— 进阶特性与底层机制解析(构造函数初始化,类型转换,static成员,友元,内部类,匿名对象)
  • torch.nn.Sequential() and torch.nn.ModuleList()
  • Linux 系统的指令详解介绍
  • 位运算的应用
  • 数据结构——算法复杂度
  • Linux系统安装PaddleDetection
  • 棋类游戏中的智能决策 ——蒙特卡洛树搜索(MCTS)算法解析
  • C# 反射
  • SpringMVC——第7章:HttpMessageConverter
  • 数学复习笔记 2
  • GoogleTest:GMock初识
  • AVL树 和 红黑树 的插入算法
  • 政务服务智能化改造方案和案例分析
  • 浔川AI测试版内测报告
  • 无重复字符的最长子串(3)
  • 第三章 - 软件质量工程体系
  • JAVA在线考试系统考试管理题库管理成绩查询重复考试学生管理教师管理源码
  • QTtricks
  • 神经网络开发实战:从零基础到企业级应用(含CNN、RNN、BP网络代码详解)
  • 两个灵魂,一支画笔,意大利艺术伴侣的上海灵感之旅
  • 多地政府机关食堂迎来大客流,重庆荣昌区委书记给厨师们鼓劲
  • “五一”假期客流增加,多地提升铁路运力并强化服务
  • 三百余英国王室藏品,一览爱德华时代的优雅
  • “五一”假期第三天,预计全社会跨区域人员流动量超2.8亿人次
  • 外交部发言人就澳大利亚联邦大选结果答记者问