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 模块化管理数据
-
状态树结构复杂的时候,可以用modules进行管理。
-
多人协同开发,可以用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数据持久化。
- 安装
npm install vuex-persistedstate --save
- 在vuex初始化的时候
import createPersistedState from ‘vuex-persistedstate’
const state = {
user:{},
}
export default new Vuex.Store({
state,
getters,
actions,
mutations,
plugins:[createPersistedState({
storage: window.sessionStorage
})] //会自动保存创建的状态。刷新还在
}
})
- createPersistedState()可配置的参数
- key:storage名称,所有的数据会存储到一个key里面,默认:vuex
s
- 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)
}
})
]
})
-
需要安装 js-cookie
-
getItem 加载保存的状态
-
setItem 保存状态
-
removeItem 删除保存的状态
默认持久化所有state,要想持久化指定state,配置如下:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。
戳这里免费领取前端学习资料
发知识点,真正体系化!**
[外链图片转存中…(img-ybq3ODyd-1712223581227)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。
戳这里免费领取前端学习资料