Vue + ElementUI 实现后台管理系统模板 -- 前端篇(七):引入 vuex 进行状态管理

本文介绍了如何在Vue项目中使用Vuex进行状态管理,包括初始化步骤、模块拆分、状态与动作操作以及在组件中应用。同时提及了面试中可能被问到的相关前端技术知识点。
摘要由CSDN通过智能技术生成

注意:如果初始化项目时选择了vuex,一定要删除根目录下原有store.js文件

2》引入 vuex

import Vue from ‘vue’

import Vuex from ‘vuex’

Vue.use(Vuex)

export default new Vuex.Store({

state: {

},

mutations: {

},

actions: {

},

modules: {

}

})

3》根据功能拆分成各个模块

所有的状态管理写在一个 js 里,不方便维护。

可以根据不同的功能,抽取去不同的模块 js 进行处理。

比如:登录模块可以定义 user.js 去处理、公共模块可以定义 common.js 去处理。

如下:定义一个 user.js,其中 state 管理一个 userName 数据,当登录成功时,保存该数据,并显示在主页面的右上角。

export default {

// 开启命名空间(防止各模块间命名冲突),访问时需要使用 模块名 + 方法名

namespaced: true,

// 管理数据(状态)

state: {

// 用于保存用户名

userName: ‘Admin’

},

// 更改 state(同步)

mutations: {

updateName(state, data) {

if (data) {

state.userName = data

} else {

state.userName = ‘Admin’

}

}

},

// 异步触发 mutations

actions: {

updateName({

commit,

state

}, data) {

commit(“updateName”, data)

}

}

}

getter文件

const getters = {

userName: state => state.userName,

}

export default getters

4》将定义好的模块,在 index.js 中引入。

import Vue from ‘vue’

import Vuex from ‘vuex’

import user from ‘./module/user.js’

import getters from ‘./getters’

Vue.use(Vuex)

export default new Vuex.Store({

modules: {

user

},

getters

})

5》使用

在组件中,可以引用 state、action 。

其中:

使用 $store.state 可以引用 state 中的数据,也可使用 mapState 替代 $store.state。

使用 s t o r e . d i s p a t c h 可以引用 a c t i o n 中的方法,也可使用 m a p A c t i o n s 替代 store.dispatch 可以引用 action 中的方法,也可使用 mapActions 替代 store.dispatch可以引用action中的方法,也可使用mapActions替代store.dispatch。

专业技能

一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等

由于文章篇幅有限,仅展示部分内容

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值