vuex笔记,直通大厂

   日期:2024-12-26    作者:lianxingjkh 移动:http://mip.riyuangf.com/mobile/quote/38056.html

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

vuex笔记,直通大厂

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)

}

})

]

})

  1. 需要安装 js-cookie

  2. getItem 加载保存的状态

  3. setItem 保存状态

  4. removeItem 删除保存的状态

默认持久化所有state,要想持久化指定state,配置如下

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

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

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

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

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

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里免费领取前端学习资料

发知识点,真正体系化!**

[外链图片转存中…(img-ybq3ODyd-1712223581227)]

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

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里免费领取前端学习资料


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号