vuex笔记(1),前端面试

}

  • 备注:
  1. 只有commit()才可以触发mutations中的方法 (可以在组件中调用,也可以在actions中调用)

  2. 只有dispatch()才可以触发actions中的方法 (只能在组件中调用)

  3. vuex 是单向数据流

  4. 只有mutations才可以修改state中数据。

  5. Es6 规范:

导入模块 —> import xxx from ‘路径’

导出模块 —> export default {}

小小的注意:可以用es6中的解构赋值(按需导入)语法

import { modea,modeb } from ‘/home/xxx.js’

A: 公用的方法库, export default { a:functin(){},b:function(),c:function(){}}

B:import { c } from ‘/A.js’

c()

commomjs规范(nodejs)

导入模块: require(‘路径’)

导出模块: module exports { }

vuex高级篇1 、语法糖辅助函数

  • 语法糖,四大金刚辅助函数:mapState,mapActions,mapMutations,mapGetters

  • 当一个组件需要多个状态是,这些状态都声明成计算属性过于冗长。于是有了辅助函数。

import {mapState,mapGetters,mapActions,mapMutations} from ‘vuex’

computed:{

…mapState({

a:“a”, // “a” 指的是state中的a

b:“b”

}),

…mapGetters({

Val:‘newVal’ // 可以重新命名

})

}

methods:{

…mapActions({

getSync:‘getSyncNum’

})

…mapMutations({

increament:“increament”

})

}

template

{{a}} {{b}}

{{getSync(1)}}

<button @click=‘increament(1)’>

高级篇2、 modules 模块化管理数据

  1. 状态树结构复杂的时候,可以用modules进行管理。

  2. 多人协同开发,可以用modules,避免命名空间冲突。

//创建store,分模块定义

const test1 ={

namespaced:true, //开启命名空间,在各组件总 …mapState(“test1”,{name:“name”})

state:{name:‘test1’},

actions:{},

mutations:{

changeName(state,arg){

state.name=arg;

},

getters:{}

}

const test2 = {

namespaced:true,

state:{},

actions:{},

mutations:{

}

},

getters:{}

}

new Vuex.Store({

state:{name:“root”},

actions,

mutations,

getters

modules:{

test1,

test2

}

})

在组件中使用:

{{this.$store.state.name}}

{{name}}

{{this.$store.state.test1.name}}

{{tes1Name}}

computed:{

…mapState({

name:“name"

}),

…mapState(‘test’,{

test1Name:‘name’

})

}

methods:{

…mapMutations(‘test1’,[‘changeName’])

}

  • 备注:

…mapState("test1’,[‘name’])

…mapState(‘test1’,{newName:‘name’})

如果展开数组,组件中不可以重命名,

如果展开时对象,可以重命名

vuex 超级篇 数据持久化

什么是数据持久化?

刷新页面,数据丢失、清空。有时候我们需要把一些数据固话到本地,即使刷新也不能清空,例如:登陆状态、token等。这是就需要用到vuex数据持久化。

  1. 安装

npm install vuex-persistedstate --save

  1. 在vuex初始化的时候

import createPersistedState from ‘vuex-persistedstate’

const state = {

user:{},

}

export default new Vuex.Store({

state,

getters,

actions,

mutations,

plugins:[createPersistedState({

storage: window.sessionStorage

})] //会自动保存创建的状态。刷新还在

}

})

  • createPersistedState()可配置的参数
  1. key:storage名称,所有的数据会存储到一个key里面,默认:vuex

s

  1. storage:数据存储位置,默认:localStorage。也可以设置sessionStorage。如上。

也可以使用 js-cookie 将状态保存在cookie,如下

  • 首先安装js-cookie

cnpm install js-cookie --save

import * as Cookies from ‘js-cookie’

import createPersistedState from ‘vuex-persistedstate’

const store = new Vuex.Store({

// …

plugins: [

createPersistedState({

storage: {

getItem: key => Cookies.get(key),

setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),

removeItem: key => Cookies.remove(key)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

真正体系化!**

[外链图片转存中…(img-dbFO0feE-1712223548230)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

[外链图片转存中…(img-QDyoNuIB-1712223548230)]

[外链图片转存中…(img-y7SYNeXW-1712223548230)]

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值