从零搭建vue项目:1系统登录-vuex保存登录用户信息初探

前言:

vuex是什么,我理解是在vue框架中使用的一个保存全局信息、状态的模块,项目到了什么规模,具有什么特点,才应该使用它呢?为什么不能自己创建一个保存全局信息的js文件,而非使用它呢?呵呵,暂时回答不上来,我想只有当我们完全了解它的作用以及用法之后,才会在需要它的时候想起它,使用它,进而总结出使用它的场景和选择它的原因。

系统登录后,当前登录的用户信息,为什么要保存下来呢?因为系统别的地方会用。为什么不能用的时候再向后台请求呢?呵呵,暂时回答不上来。

虽然有些问题答不上来,但为了生活,还是先学会用,并在学习的过程中找答案吧!开始了。

1 初始化项目:

1.1 安装node.js

1.2 生成基础项目

$ npm install -g vue-cli(vue-cli工具,全局安装,之前安装过可跳过,但再安一遍也没事)

$ vue init webpack my-project(生成项目)

$ cd my-project(进入项目文件夹)

$ npm install(npm可能需要到国外站点下载,慢,有一个cnpm使用国内镜像,快)

$ npm run dev(启动项目)

打开浏览器运行下,出来了,呵呵

2 制作登录界面

把默认界面改改得了,默认界面在哪呢?

项目目录

就是它,虽然说是界面,但其实这个文件我觉得应该叫做vue的一个组件,每个vue的组件都得由<template><script><style>三部分组成,<template>写html,<script>写js,<style>写css,当然可以啥也不写,不就是看个大白板么,不过刚试了下,啥也不写报错,行,先留它们一会,先看看。

logo图片,看意思图片资源是放在asserts文件夹下面的,先删了,呵。

<router-view/>? 指令的方式引了个界面?麻蛋,找不着啊,于是我来到了router文件夹下的index.js看看,呦呵,有个默认路由,给我路到了一个组件/界面/component,叫HelloWorld,是在components文件夹下

打开看看,卧槽,就是它!咋就路这儿来了呢?暂时回答不上来。

我把你改成登录界面

返回浏览器,f5刷新,呵呵,漂亮。

激动人心的时刻到了,要点击登录了,这下问题来了,在点击登录的处理函数里,直接调后台接口吗?有点年轻,有点简单。到底应该怎么做,暂时回答不了,但此时此刻,我得先用vuex把当前登录用户的信息存下来,因为今天我要学的就是这个。来吧!

先把vuex安装了

$npm install -g vuex

在src目录下建个store文件夹,并在其下创建index.js文件,再创建个modules文件夹,在其下创建login.js文件,两个文件代码如下:

index.js
login.js

回到浏览器,f5,登录!没反应,没弹框,擦。看看。没报错。/思考

法克,点登录时调的函数还没实现呢。/流汗

先写上这么一句,一会再捋。

回到浏览器,f5,登录!没反应,擦。看看。报错了。

HelloWorld里的login函数里的dispatch是undefined,/思考,呵呵,defined了就怪了,store直接就用了,还没import了,这个store,或者说这个vuex,是一个保存全局状态的一个模块,应该有不少界面会用,在当前界面引不太合适,去main.js引吧,引完了想哪用就哪用了。引完了是酱婶的。

main.js

回到浏览器,f5,登录!呵呵。

出来吧

来吧,捋捋吧。

先从HelloWorld界面点击登录时进入的函数login开始走起,有这么一句

调用了store的dispatch方法,俩参数,一个是类似key的东西‘Login’,一个是登录信息data,进到哪去了呢?store是我们建立的vuex实现模块,去store文件夹下面的index.js看下

没有Login或dispatch这些东西啊,诶,但它引了个login子模块,再进到/store/modules下的login.js看下

诶诶,有个Login,而且是俩参数,靠谱!最关键的是我们在这写了个alert验证我们的代码,确实也弹框了,说明代码是走到了这里,这下问题来了,我明明调的是名为dispatch的函数,怎么就进这来了呢?呵呵,答不上来。我搜索了下,现在只知道的是,这个login.js里面目前有3块,state+mutations+actions,dispatch会进入actions下以dispatch第一个参数为名字的函数!至于其它2块,state+mutations,呵呵,暂时不知道!

index.js引了个login,就找到了它actions下的Login,我要是再引个login2也有个Login,会去哪呢?我试试。

你猜怎么着?两个都进了,而且进的顺序和index.js中引入的顺序一致。/偷笑,这里我要做一个大胆的猜测,这些Login会在一个 队列/栈/链表 的数据结构中待着,等着被调用,都不会被落下,也不会乱序。

还有,我一个login.js里面定义多个Login,又会如何呢?我试试。

你猜怎么着?

弹出来的3。

还有,store的文件夹,模块命名,一般都用store,换个行不行?我试试。

你猜怎么着?ide阻止了我我rename。

问题越想越多,时间不等人,岁月不饶人,先这样吧,还有好多要学的咧!

下篇模拟一下后台登录,登录成功后跳个页面,并把用户信息get一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容