• 技术文章 >web前端 >Vue.js

    认识Vue新一代的状态管理库--Pinia

    青灯夜游青灯夜游2022-08-30 19:56:30转载357
    什么是pinia?怎么使用?本篇文章就来带大家了解一下Vue新一代的状态管理库--Pinia,希望对大家有所帮助!

    大前端零基础入门到就业:进入学习

    什么是 Pinia

    Pinia (西班牙语中的菠萝),本质上依然是一个状态管理的库,用于跨组件、页面进行状态共享。【相关推荐:vue.js视频教程

    pinia 与 vuex 的区别:

    如何使用 Pinia

    1、安装 pinia

    yarn add pinia

    2、创建一个pinia

    // src/stores/index.js
    import { createPinia } from "pinia";
    
    const pinia = createPinia()
    
    export default pinia
    //main.js
    import pinia from './stores'
    
    app.use(pinia)

    认识 Store

    一个 Store (如 Pinia)是一个实体,它会持有为绑定到你组件树的状态和业务逻辑,也就是保存了全局的状态

    这样就可以定义任意数量的Store来管理你的状态,包括 state、getters、actions

    1. 定义一个store

    image-20220812152348346

    2. 使用 store

    image-20220812152432057

    image-20220812154916315

    操作 State

    state 是 store 的核心部分,store是用来实现我们管理状态的。

    image-20220812163115369

    image-20220812165009960

    image-20220812165858904

    image-20220812170350560

    image-20220812170540664

    Getters

    1. 认识和定义 Getters

    Getters相当于Store的计算属性:

    2. 访问 Getters

    getters: {
        // 1. 基本使用
        debouleCount(state) {
          return state.count * 2
        },
        // 2. 一个 getters 引入另外一个 getters
        useDebouleCount() {
          return this.debouleCount + 2
        },
        // 3. getter也支持返回一个函数
        getFriendById(state) {
          return function (id) {
            for (let i = 0; i < state.vagetabel.length; i++) {
              const vagetabel = state.vagetabel[i]
              if (vagetabel.id === id) {
                return vagetabel          }
            }
          }
        },
        // 4.访问其他store中的Getters
        showMessage(state) {
          // 获取user信息
          const useStore = useUser()
    
          // 获取自己的state
          // 拼接信息
          return `name:${useStore.name} - count:${state.count}`
        }
      }

    image-20220812181122665

    认识和定义 Action

    Action 可以理解成组件中的 methods ,和getters一样,在action中可以通过this访问整个store实例的所有操作。

    image-20220813121159762

    Action 是支持异步操作的,所以可以使用 await。

    image-20220813121241994

    更多编程相关知识,请访问:编程入门!!

    以上就是认识Vue新一代的状态管理库--Pinia的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:Pinia 状态管理 Vue vue3
    上一篇:优先级比较:v-for 和 v-if哪个更高? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 实例说明vue3中setup参数attrs,slots,emit是什么?• 【整理分享】6 个 Vue3 开发必备的 VSCode 插件• 尤雨溪:新版Vue3中文文档上线了!• 聊聊vite+vue3.0+ts中如何封装axios?• 详解vue3中reactive和ref的区别(源码解析)• 什么是插槽(slot)?聊聊Vue3中插槽的使用方法
    1/1

    PHP中文网