美文网首页
⚜️Vuex---命名空间

⚜️Vuex---命名空间

作者: 索隆萨克 | 来源:发表于2019-07-24 11:44 被阅读0次

引言

之前一个项目中,数据交互全部放在Vuex的action中,当时产生过一个质疑,所有的action都是挂在全局上,如果有重名的action,会产生什么样的结果?


image.png

为了避免产生重名的action或者mutation,可以使用Vuex的命名空间(awesome 😂)


image.png

一、store中设置开启命名空间

export default {
  namespaced: true, // 开启命名空间
  state: { yourState: '' // 下文会使用},
  mutations: {},
  actions: {}
}

二、挂载store时设置命名空间名

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

import anyStore from './modules/anyStore'

const store = new Vuex.Store({
  modules: {
    // 挂载:挂载方式共有两种
    anyStore, // 命名空间名为 anyStore
    namespace: anyStore // 命名空间名为 namespace
  }
})

export default store

三、组件中使用

  1. 第一种使用方式
// 导入辅助函数 mapXXX
// 以mapState 为例

import { mapState } from 'vuex'
export default {
  computed: {
    ...mapState('命名空间名称', ['yourState'])
  }
}
  1. 第二种使用方式
// 借助vuex 提供的 createNamespacedHelpers 函数
// 返回绑定在命名空间名称内部的辅助函数, 做了一次过滤

import { createNamespacedHelpers } from 'vuex'
import { mapState } = createNamespacedHelpers('命名空间名称')

export default {
  computed: {
    ...mapState(['yourState'])
  }
}
bye bye

原文地址

相关文章

  • ⚜️Vuex---命名空间

    引言 之前一个项目中,数据交互全部放在Vuex的action中,当时产生过一个质疑,所有的action都是挂在全局...

  • Hbase 查询语句

    进入HBase数据库 HBase帮助命令: 命名空间 列出所有命名空间 新建命名空间 删除命名空间 该命名空间必须...

  • NDK开发:C++基础

    一、命名空间 standard:标准命名空间 命名空间类似于java中的包。 自定义命名空间 使用命名空间 ::为...

  • Chapter 18 Large-scale project t

    命名空间 inline命名空间 inline声明的命名空间, 可以无视本层命名空间, 而可以被直接使用. 用处: ...

  • C#随笔1

    1命名空间 语法 namespace 命名空间名称{若干个类型} ORnamespace 命名空间名称.子命名...

  • 07_Python函数进阶_全栈开发学习笔记

    # 1. 命名空间 ## 1.1 命名空间的种类 命名空间共有有三种 1) 内置命名空间 —— python解释器...

  • C++入门05 --命名空间,继承,访问权限,初始化列表

    命名空间 命名空间主要是用来解决命名冲突的; namespace xxxx { }:命名空间的定义; 利用::域运...

  • 命名空间 namespace

    /*命名空间:命名空间是一种封装事物的方法命名空间怎么声明?关键字: namespace 导入命名空间: use起...

  • chapter18_命名空间

    命令空间 每个命名空间都是一个作用域位于该命名空间之外的代码必须明确指出所用的名字属于哪个命名空间 命名空间可以是...

  • kubernetes-RBAC实操

    环境准备准备test的命名空间test命名空间下创建serviceaccounttest命名空间下创建rolete...

网友评论

      本文标题:⚜️Vuex---命名空间

      本文链接:https://www.haomeiwen.com/subject/vsntrctx.html