Vue-admin工作整理(十一):Vuex-动态注册模块
概述:
动态注册模块分为两种,一种是在根state下注册一个模块,一种是在模块下再自动注册一个模块
第一种:根state下动态注册模块:
思路:通过store来实现,this.$store来获取当前的实例内容,然后通过当前根实例的registerModule方法来实现模块动态注册:
registerModule () {
this.$store.registerModule('todo', { // 第一个参数为我们需要添加的模块名称,第二个是一个对象,写
state: { // 这块和在user.js里的注册模块方法是一样的,这里在state里注册了一个todoList
todoList: [
'mutations',
'actions'
]
}
})
}
使用的时候通过computed来初始,这里需要增加一个state实例下的指定模块是否存在的判断,有则继续执行,无则返回为空
备注:computed:计算属性将被混入到 Vue 实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。
todoList: state => state.todo ? state.todo.todoList : []
第二种:给模块下动态添加子模块:
思路:与根模块下添加有唯一一个区别就是在调用registerModule方法的时候,以数组方式定义模块结构:['user', 'todo'],前者为模块名,后者为动态增加的子模块名
// 给模块动态添加一个子模块:
registerchildModule () {
this.$store.registerModule(['user', 'todo'], { // 第一个参数为我们需要添加的模块名称,给uer模块添加了一个子模块,
// 使用的是数组的形式,第二个是一个对象,写
state: { // 这块和在user.js里的注册模块方法是一样的,这里在state里注册了一个todoList
todoList: [
'childmutations',
'childactions'
]
}
})
}
其他取值和读取跟第一种完全一样
Vue-admin工作整理(十一):Vuex-动态注册模块的更多相关文章
- Vue动态注册异步组件(非同一个工程的组件)
前言:最近在掘金逛的时候,无意中看到前滴滴前端架构黄轶大佬,看到了大佬分享的一篇博客滴滴 webapp 5.0 Vue 2.0 重构经验分享 ,对于其中第5个问题(异步加载的业务线组件,如何动态注册? ...
- Vue技术点整理-Vuex
什么是Vuex? 1,Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化 2,每一个 Vuex ...
- Android学习笔记(十一)BroadcastReceiver动态注册、注销示例
在上一篇博文中简单介绍了一下BroadcastReceiver的相关知识点,本篇举一个在代码中动态的注册.注销BroadcastReceiver的栗子. 1.首先创建一个MyReceiver并继承Br ...
- Vue.js面试整理
Vue项目结构介绍 build 文件夹:用于存放 webpack 相关配置和脚本. config 文件夹:主要存放配置文件,比如配置开发环境的端口号.开启热加载或开启gzip压缩等. dist 文件夹 ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue-admin工作整理(二):项目结构个人配置
通过上一篇文章(Vue-admin工作整理(一):项目搭建)操作完毕后,基础项目已经搭建,下面就要对项目本身进行一下项目结构调整来符合自己的项目要求 1.首先要对package.json文件进行调整, ...
- vue路由知识整理
vue路由知识整理 对于单页应用,官方提供了vue-router进行路由跳转的处理.我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做的是,将组件(compo ...
- RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化
序:RPC就是使用socket告诉服务端我要调你的哪一个类的哪一个方法然后获得处理的结果.服务注册和路由就是借助第三方存储介质存储服务信息让服务消费者调用.然我们自己动手从0开始写一个rpc功能以及实 ...
- Oracle监听的静态注册和动态注册
静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册.用图形化netca创建的监听,默 ...
随机推荐
- dataTable 分页用法总结
$(function(){ var eData=[ { "area":"濮阳县", "name":"面粉厂", &quo ...
- box-sizing:border-boxing的使用
<div class="box"></div> .box { margin-top: 200px; margin-left: 200px; backgrou ...
- git 解决授权失败的方法
git 提示 fatal: Authentication failed for 'http://***********‘’得解决方法 首先用 git config --list 查看一下 如果不对, ...
- Post请求data参数构造及巧用js脚本显示爬虫进度
小爬最近随着对python中字符串.json等理解进一步加深,发现先前我随笔中提到的data构造和传参方法略复杂,原本有更简单的方法,Mark如下. 先前小爬我使用的requests.post请求中d ...
- Xgboost总结
从决策树.随机森林.GBDT最终到XGBoost,每个热门算法都不是孤立存在的,而是基于一系列算法的改进与优化.决策树算法简单易懂可解释性强,但是过拟合风险很大,应用场景有限:随机森林采用Baggin ...
- 820板子安装python
1. 需要安装python, 从 python.org上下载版本,我下的是python3.5,网上搜索到的是python2.7的交叉编译过程 和820的结合下. 需要注意,先把820的环境设置好,就是 ...
- vuex 状态管理
npm安装:cnpm install --save vuex 安装完:cnpm install main.js引入: import Vuex from 'vuex' Vue.use(Vuex);
- upCode
更新源码 Sub main() Dim str As String str = "这是测试的字符串对话框" MsgBox str Sheets(1).Select End Sub
- User root is not allowed to impersonate anonymous
User root is not allowed to impersonate anonymous ava.lang.RuntimeException: org.apache.hadoop.ipc.R ...
- CentOS 7 扩大/root分区
Linux 根目录爆满解决 亲测有效!转载自https://blog.csdn.net/e_wsq/article/details/79531493 CentOS 7 调整 home分区扩大 root ...