vue-cli中配置vuex流程和注意事项
本文目录
- vue-cli下新建站
- 配置路由更改HelloWorld.vue组件到新建Home.vue组件
- 安装vuex
- 测试是否安装成功vuex
一:vue-cli下新建站
a)新建文件夹vuexStudy
b)进入命令窗口:vue init webpack
特别引调,输入站点名称不能为vuex
一路默认执行,创建vue-cli下的webpack模板站点npm run dev
在浏览器中,输入http://localhost:8080 (确保你自己端口号),确认成功后进行下这vuex安装
二:安装vuex(
备注:
1)安装vuex前,可以考虑清空HelloWorld.vue内容,也可采用新建一个空组件(即去掉视图模板<template></template>无关干扰列表等住处)如新建home.vue
home.vue文件如下<template>
<div class="Home">
{{msg}}
</div>
</template>
<script>
export default {
data () {
return {
msg: 'Home.vue 组件'
}
}
}
</script>2)配置路由文件/router/index.js 更改helloWorld.vue为home.vue
配置路由.index.js添加如下文件import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home' Vue.use(Router) export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
网址中输入浏览:http://localhost:8080
出现如下内容,说明配置路由更改helloWorld.vue组件到home.vue

a)安装命令
npm install vuex --save
b)配置
在 main.js配置入口中,配置 vuex如下
import Vuex from 'vuex'
Vue.use(Vuex)
三:测试是否安装成功Vuex
a)新建文件夹与文件
b)main.js入口配置文件中,配置vuex
c)组件home.vue调用state选项,保存在文件rootState.js的变量
备注:如果在项目中需要配置的vuex选项很多,我们则应该把vuex的相关代码分割到不同模块
a)新建文件夹与文件
a)在src下新建store文件夹,在文件夹中创建如下几个文件
rootState.js 对应核心概念 state选项
getters.js 对应核心概念 getter选项
mutation.js 对应核心概念 mutations选项
action.js 对应核心概念 actions选项
index.js 整合如上各个模块,创建并导出vuex实例
我们可以随意设置如上文件名,但最好可以通过文件名就能判断出这个文件是用来干嘛的
index.js中代码如下
强调:import Vue from 'vue' 此导入第二个vue要全部小写,不则配置找不到变量
import Vue from 'vue';
import Vuex from 'vuex';
import state from './rootState.js';
import getters from './getters.js';
import mutations from './mutations.js';
import actions from './actions.js'; Vue.use(Vuex);
const store = new Vuex.Store({
state,
getters,
actions,
mutations
}); export default store;
b)store文件夹下,四个文件(rootState.js getters.js mutations.js actions.js)配置都差不多一样,以rootState.js为例
rootState.js代码如下
/**
* 此文件除声明变量,还可声明数组
* */
const state = {
count: 0,
firstName: '姓张',
lastName: '名许',
student: ['张三', '李四', '王二']
}
export default state
b)main.js入口配置文件中,配置vuex
首先:main.js文件
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/index'; //导入store下配置的vuex相关文件 Vue.config.productionTip = false new Vue({
el: '#app',
router,
store,//引用store
components: { App },
template: '<App/>'
})
再次:到home.vue中调用rootState.js变量
思路分析两点:
通过computed:{}选项来引用文件rootState.js文件中变量,代码如下
<template>
<div class="Home">
<p>测试home.vue组件配置成功否:{{msg}}</p>
<p>引用state选项一个变量:{{count}}</p>
<p>引用state选项两个变量组合:{{fullName}}</p>
<p>引用state选项中的数组:{{students}}</p>
</div>
</template>
<script>
export default {
name: 'Home',
data () {
return {
msg: 'Home.vue 组件'
}
},
computed: {
// 调用是vuex,state选项文件rootState.js中声明变量
count () {
console.log('this结构:' + this.$store.state.count)
return this.$store.state.count
},
// 调用是vuex,state选项文件rootState.js中声明变量
fullName () {
console.log('this结构:' + this.$store.state.firstName)
return this.$store.state.firstName + this.$store.state.lastName
},
students () {
return this.$store.state.students
}
}
}
</script>
个人首次配置vuex心得,具体遇到问题,后期完善
vue-cli中配置vuex流程和注意事项的更多相关文章
- vue cli 中关于vue.config.js中chainWebpack的配置
Vue CLI 的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置 ...
- Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试
在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.s ...
- [Vue CLI 3] 配置解析之 indexPath
在 vue.config.js 配置中有一个 indexPath 的配置,我们先看看它有什么用? 用来指定 index.html 最终生成的路径(相对于 outputDir) 先看看它的默认值:在文件 ...
- vue cli中的env详解
前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...
- @vue/cli的配置知道多少-publicPath,outputDir,assetsDir,indexPath,filenameHashing,configureWebpack,productionSourceMap
vue.config.js的简单介绍 vue.config.js 是一个可选的配置文件, 在项目的 (和 package.json 同级的) 根目录中存在这个文件. 默认情况没有这个文件需要我们手动去 ...
- 在VUE应用中配置ESLint(代码检查)
eslint配置方式 注释配置:使用js注释来直接嵌入ESLint配置信息到一个文件里 配置文件:使用一个js文件,JSON或者YAML文件来给整个目录和它的子目录指定配置信息.这些配置可以写在一个文 ...
- Vue项目中使用Vuex + axios发送请求
本文是受多篇类似博文的影响写成的,内容也大致相同.无意抄袭,只是为了总结出一份自己的经验. 一直以来,在使用Vue进行开发时,每当涉及到前后端交互都是在每个函数中单独的写代码,这样一来加大了工作量,二 ...
- [Vue CLI 3] 配置解析之 parallel
官方文档中介绍过在 vue.config.js 文件中可以配置 parallel,作用如下: 是否为 Babel 或 TypeScript 使用 thread-loader. 该选项在系统的 CPU ...
- 在vue项目中配置webpack
首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同: Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录 从上图可以 ...
随机推荐
- Dart语言学习(十二) Dart面向对象
Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Obje ...
- .Net Core初识以及启动配置
.net程序员为什么要学习.net core .Net Core 是.Net的未来,微软在19年 5月已经明确说明,未来只有.Net 5(=.NET Core vNext),.Net 5是.net c ...
- 深入JVM类加载器机制,值得你收藏
先来一道题,试试水平 public static void main(String[] args) { ClassLoader c1 = ClassloaderStudy.class.getClass ...
- SpringMVC 上传文件 MultipartFile 转为 File
在使用 SpringMVC 上传文件时,接收到的文件格式为 MultipartFile,但是在很多场景下使用都需要File格式的文件,记录下以便日后使用. 以下mFile为MultipartFile文 ...
- gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(上)
上一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html 建立Go项目 在GOPATH的src下面建立一个文件夹 protobuf-go, ...
- mysql 5.7中 count(0) count(*) count(主键) count(非空字段)效率比较
mysql count(0) count(*) count(主键) count(非空字段) 效率比较 写代码的时候经理在背后说了一句count(0)的效率高于count(*) ,索性全部测试了一下 结 ...
- 非常NB的一款快捷启动软件--Merry
Merry 被设计为了能将日常重复性操作简化为一个快捷键或者命令.Merry 采用完全开放的体系, 可以使用 Lua 或者外部程序来扩展 Merry 的功能. 另附一个自己扩展的LUA脚本: --启动 ...
- Codeforces_803
A. 填k个1,使矩阵主对角线对称,相同情况选择上面1数量多的. #include<bits/stdc++.h> using namespace std; ][] = {}; int ma ...
- WeChall_Enlightment (Encoding)
解题: 刚开始一看这题就蒙逼了,完全没思路,过了几天后再仔细去想想,应该是二进制的ascii码,但是原来的三张图虽然都是8的倍数,但完全转换不成有用的东西,题目的意思能否找到光,百度了一下关于三原色的 ...
- [WPF 自定义控件]在MenuItem上使用RadioButton
1. 需求 上图这种包含多选(CheckBox)和单选(RadioButton)的菜单十分常见,可是在WPF中只提供了多选的MenuItem.顺便一提,要使MenuItem可以多选,只需要将MenuI ...