最后

喜欢的话别忘了关注、点赞哦~

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端校招面试题精编解析大全

npm install --save- vuex

引入:

import Vuex from ‘vuex’

import Vue from ‘vue’

Vue.use(Vuex)

Vuex 的组成部分

==========

完整的应用 Vuex 开发的应用结构应该是这样的:

vuex-complete

vuex-complete

下面针对比较核心的部分进行说明。

State

=====

State 负责存储整个应用的状态数据,一般需要在使用的时候在根节点注入 store 对象,后期就可以使用 this.$store.state 直接获取状态

// store 为实例化生成的

import store from ‘./store’

new Vue({

el: ‘#app’,

store,

render: h => h(App)

})

这个 store 可以理解为一个容器,包含着应用中的 state 等。实例化生成 store 的过程是:

const mutations = {…}

const actions = {…}

const state = {…}

Vuex.Store({

state,

actions,

mutations

})

后续在组件中使用的过程中,如果想要获取对应的状态你就可以直接使用 this.$store.state 获取,当然,也可以利用 vuex 提供的 mapState 辅助函数将 state 映射到计算属性中去,如

// 我是组件

import {mapState} from ‘vuex’

export default {

computed: mapState({

count: state => state.count

})

}

这样直接就可以在组件中直接使用了。

Mutations

=========

Mutations 的中文意思是“变化”,利用它可以更改状态,本质就是用来处理数据的函数,其接收唯一参数值 state

store.commit(mutationName) 是用来触发一个 mutation 的方法。需要记住的是,定义的 mutation 必须是同步函数,否则 devtool 中的数据将可能出现问题,使状态改变变得难以跟踪。

const mutations = {

mutationName(state) {

//在这里改变state中的数据

}

}

在组件中触发:

//我是一个组件

export default {

methods: {

handleClick() {

this.$store.commit(‘mutationName’)

}

}

}

或者使用辅助函数 mapMutation 直接将触发函数映射到 methods 上,这样就能在元素事件绑定上直接使用了。如:

import {mapMutations} from ‘vuex’

//我是一个组件

export default {

methods: mapMutations([

‘mutationName’

])

}

Actions

=======

Actions 也可以用于改变状态,不过是通过触发 mutation 实现的,重要的是可以包含异步操作。其辅助函数是 mapActionsmapMutations 类似,也是绑定在组件的 methods 上的。如果选择直接触发的话,使用 this.$store.dispatch(actionName) 方法。

// 定义 Actions

const actions = {

actionName({commit}) {

//dosomething

commit(‘mutationName’)

}

}

专业技能

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

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

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

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

Logo

前往低代码交流专区

更多推荐