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(右图)创建项目的目录 从上图可以 ...
随机推荐
- orm 锁 和 事务
一 锁 锁的语句 select_for_update() 原生sql语句select * from t1 for update django 语句models.T1.objects.select_fo ...
- ios---运用MJRefresh组件设置下拉刷新
#import "XMGTopicViewController.h" #import <AFNetworking.h> #import <MJExtension. ...
- IDEA更换banner(娱乐专用)
1.佛祖保佑 永无bug _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / ...
- AcWing 789.数的范围
AcWing 789.数的范围 题目描述 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询. 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数). 如果数组中不存在该元素, ...
- 量子搜索算法 Grover search
问题定义: Problem: \(f: \{ 0,1,2,3,--,N-1 \} \rightarrow \{0,1\}\) 找到 \(f(x)=1\) 的x 解法 经典解法: 经典解法很简单,就是把 ...
- 设计模式——Adapter Pattern 适配器模式
我第一次接触设计模式,选取了四大类型里面的结构型,这类型的特点是关注类&对象之间的组合(使用继承),我从中选取适配器模式来具体学习. 一.适配器模式(Adapter Pattern)定义: 适 ...
- 再次聚焦DOCKER MACHINE CODE 2048
如果有一种feeling让世界难以释怀,那一定是发掘(挖土机那家强?)了什么了不起的东西 如果有一种贴图叫做深夜,仍不止息,那一定是饱含深意的贴图 // TODO: I'm not super hap ...
- Go语言实现:【剑指offer】矩阵中的路径
该题目来源于牛客网<剑指offer>专题. 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...
- Burpsuite--安装和环境配置
1.引子 Burpsuite是一款安全人员常用的工具.在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用 ...
- 使用bisect库实现二分查找
手动实现 假如有一个有序表nums,怎么样在nums里找到某个值的位置呢?没错,就是nums.index(k),哈哈哈哈哈哈哈-- 假如nums很长很长,那就要祭出二分查找了 def binary_s ...