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创建的监听,默 ...
随机推荐
- Ztree节点增加删除修改和Icheck的用法
简介 官方文档:http://www.treejs.cn/v3/api.php zTree 是一个依靠 jQuery 实现的多功能 “树插件”, 而且拥有较好的浏览器兼容性,有着丰富的功能以及可以自定 ...
- selenium常用操作
1.访问页面获得源码 browser.get(url) browser.page_source 2.查找单个元素:返回一个标签 find_element_by_id ==>id选择器 find ...
- keycode简记表
keycode值 实际含义 48到57 0到9 65到90 a到z(A到Z) 112到135 F1到F24 8 BackSpace(退格) 9 Tab 13 Enter(回车) 20 Caps_Loc ...
- c# 调用浏览器打开网址并全屏
关键性参数 Google Chrome浏览器 Process process = Process.Start("chrome.exe", " --kiosk " ...
- vuex 状态管理
npm安装:cnpm install --save vuex 安装完:cnpm install main.js引入: import Vuex from 'vuex' Vue.use(Vuex);
- C/C++ 获取系统时间 到秒 || 到毫秒
string getNowSysTime(string &outPut) { ] = {}; struct timeval tv; struct timezone tz; struct tm ...
- HTTP 返回状态代码
一.HTTP状态码 如果某项请求发送到您的服务器要求显示您网站上的某个网页(例如,用户通过浏览器访问您的网页或 Googlebot 抓取网页时),服务器将会返回 HTTP 状态代码以响应请求. 此状态 ...
- 303. Range Sum Query - Immutable(动态规划)
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...
- linux 基本原则和常用命令
Linux的基本原则:1.由目的单一的小程序组成,组合小程序完成复杂的功能:2.一切皆文件:3.尽量避免捕获用户接口:4.配置文件保存为纯文本格式. CLI接口的命令提示符:#(root)$(普通用户 ...
- javascript数组方法
[声明一个数组]var a=[1,2,3]; [定义数组的长度]var a=new Array(2); [连接数组]数组1.concat(数组2,数组3) [将数组转换为字符串,可自定连接符]arr. ...