pinia应用

Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。

简要记录引入方法:

1、在main.js文件

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

2、store文件夹中定义counter.js

import { ref } from "vue";
import { defineStore } from 'pinia'

export const useCounterStore  = defineStore('counter', () => {
const count = ref(0)
  function increment() {
    count.value++
  }
  function subtraction(){
    count.value--
  }
  function setInitNum(num){
    count.value = num
  }

  return { count, increment, subtraction, setInitNum }
})

3、组件中使用

import { ref } from "vue";
import { useCounterStore } from "../store/counter";

const num = ref(0);
const counter = useCounterStore();
const inputNum = () => {
  counter.setInitNum(num.value);
};
const changeData = (flag) => {
  if (flag > 0) {
    counter.increment();
  } else {
    counter.subtraction();
  }
  num.value = counter.count;
};

4、这样就实现了一个加减组件

<div class="flex">
    <div @click="changeData(0)" class="btn">-</div>
    <input v-model="num" class="input-box" @input="inputNum" />
    <div @click="changeData(1)" class="btn">+</div>
  </div>

5、效果如下:

image

 输入框可以赋值,按钮加减。

posted @ 2025-12-02 12:06  薄荷凉凉凉  阅读(4)  评论(0)    收藏  举报