首页 > 其他分享 >10月27日总结

10月27日总结

时间:2023-11-05 09:02:50浏览次数:38  
标签:总结 10 27 name 模块化 state 模块 共享 数据

好,经过上一篇的介绍,实现了 Vuex 当中的 actions 方法,接下来我们来实现 Vuex 当中的模块化共享数据(modules)。

modules 方法用于模块化共享数据,那么什么叫模块化共享数据呢?其实非常简单。

过去我们将所有模块的数据都放到 state 中共享,例如:

我们有三个模块 首页 / 个人中心 / 登录,那么我们就会将这三个模块的数据都放到 state 中,但是这样会导致命名匮乏的问题。

比如说首页中需要共享name, 个人中心中也需要共享name / 登录中也需要共享name,并且这三个name的取值还不一样, 那么为了能把这三条数据放到同一个state中, 我们就必须指定不同的名称, 例如:

state:{
homeName: 'www',
accountName: 'BNTang',
loginName: 'top'
}

这样就会导致命名匮乏的问题,而且如果我们的项目足够大,那么我们的 state 中就会有很多的数据,这样就会导致我们的 state 中的数据非常多,而且不好管理。

为了解决这个问题,Vuex 就推出了模块化共享数据的方法,那么什么叫模块化共享数据呢?模块化共享数据就是将不同模块的数据放到不同的模块(state)中,这个就是模块化共享数据。

那么模块化共享数据怎么做呢,我们先不要管怎么做,我们先来看看模块化共享数据的好处。

我们还是拿上面的例子来说,我们有三个模块 首页 / 个人中心 / 登录,那么我们就会将这三个模块的数据都放到 state 中,但是这样会导致命名匮乏的问题。

好,到这里我们已经知道了模块化共享数据的好处,我们先来用一下模块化共享数据。

我先不管三七二十一,我在 Store 对象的 store 中定义了一个全局的数据 globalName 取值为 BNTang,

定义完毕之后呢,这个 globalName 代表着全局的数据,那么我们就可以在任何一个模块当中使用这个数据,那么接下来怎么办,例如这个时候我有两个模块分别是首页与个人中心,这两个模块中分别有一个 name 数据,这两个 name 该如何做呢,好我先写代码再来解释。

let home = {
state: {
name: '首页'
},
getters: {},
mutations: {},
actions: {}
}

如上的代码和 Store 中有一套相同的结构,这个对象中保存着首页的 name,保存完毕了之后,还没添加到 Store 中,那么如何添加到 Store 中呢,其实很简单,我们只需要在 Store 中的 modules 中添加这个模块就可以了。

modules: {
home: home
}

如上代码的写法就代表着,我们 Store 除了保存了全局的共享数据以外还保存了首页模块的共享数据,那么我们的个人中心数据该如何做呢,其实也是一样的(也是同一个世界,同一个梦想的),我们来写一个个人中心的模块。

let account = {

标签:总结,10,27,name,模块化,state,模块,共享,数据
From: https://www.cnblogs.com/lmyy/p/17810205.html

相关文章

  • 10月31日总结
    学习元素之间空白的产生之前,我们需要知道块级元素与行内元素的区别块级元素是会独占一行的,按垂直方向排列。行内元素不会占据整行,在一条直线上排列,都是同一行,按水平方向排列除了块级元素和行内元素,还有一种行内块元素,其实质上也是行内元素,所以多个行内块元素之间也会出现空白间......
  • 10月30日总结
    1.2.2创建APIExtensionsServer创建完通用APIServer后继续创建APIExtensionsServer。func(ccompletedConfig)New(delegationTargetgenericapiserver.DelegationTarget)(*CustomResourceDefinitions,error){genericServer,err:=c.GenericConfig.New("apiextensi......
  • 11月2日总结
    聊聊Transform模型从之前的RNN系列到现在的Transformer模型,是一个演进的过程,技术的实现与迭代并不是一蹴而就,而是一个持续演进的历程。如果一开始就从Tranformer的模型机制来学习,知识的不全面以及欠缺就会导致懵逼甚至看不懂又不理解。RNN系列:聊聊RNN&LSTM聊聊RNN与seq2seq聊......
  • 11月1日总结
    本文从BERT的基本概念和架构开始,详细讲解了其预训练和微调机制,并通过Python和PyTorch代码示例展示了如何在实际应用中使用这一模型。我们探讨了BERT的核心特点,包括其强大的注意力机制和与其他Transformer架构的差异。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构......
  • 11月3日总结
    你好,我是猫哥。这里每周分享优质的Python、AI及通用技术内容,大部分为英文。标题取自其中一则分享,不代表全部内容都是该主题,特此声明。本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿......
  • win10安装WSL2
    什么是WSL2首先我们理解一下什么是WSLWindowsSubsystemforLinux(简称WSL)是一个在Windows10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工......
  • ABC327 总结
    A傻逼题,降智吃了一发罚时。B依旧是傻逼题,std::pow炸精度又吃了一发罚时。C傻逼题,切了D发现就是个判断二分图,切了。E一眼丁真,感觉最后一个一定是最大的,然后就是求以最大的结尾的LIS。交上去,喜提WA29。转变思路,考虑dp。设\(f_{i,j}\)表示当前选了\(i\)个(从后往......
  • HHKB Programming Contest 2023(AtCoder Beginner Contest 327)
    HHKBProgrammingContest2023(AtCoderBeginnerContest327)A-abintmain(){IOS;strings;cin>>n>>s;boolf=false;for(inti=1;i<n;++i)if(s[i-1]=='a'&&s[i]=='b&#......
  • Atcoder Beginner Contest 327 解题报告
    AtcoderBeginnerContest327HintsD$\quad$这个定义……看起来这么熟悉?E$\quad$固定$k$试试?F_1$\quad$扫描线?F_2$\quad$区间加,区间$\max$,咋维护?A直接查找\(\texttt{ab}\)和\(\texttt{ba}\)即可。intn;strings;voidSolve(intCASE){ cin>>n>>s; pu......
  • HHKB Programming Contest 2023(AtCoder Beginner Contest 327)
    HHKBProgrammingContest2023(AtCoderBeginnerContest327)A.ab解题思路:模拟即可。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;voidsolve(){intn;cin>>n;strings;cin>>s;for(inti=0......