vue2.0手把手教你开发商户管理端后台(一)之基础篇

写在前面:

    项目地址:GitHub - jianjiayi/Merchant: vue全家桶开发商户后台管理,vue2.0手把手教你开发商户管理端后台

有什么不明白的,可以发邮件给我:m13121378101@163.com

一、简单的初始化一个vue-cli项目。

进入一个文件夹例如pc:cd pc;

开始初始化一个vue-cli项目:

vue init webpack Merchant


0001

等一段时间,下载完成

进入文件夹:cd Merchant

执行操作:npm run dev


0002

在浏览器输入:http://localhost:8081


0003

到这里基本工作完成!

二、安装element-ui,并使用UI框架搭建基本的后台页面。

打开element-ui官网:Element

开始安装element-ui,这里推荐使用cnpm安装,如何使用cnpm我就不多说了,自行百度

安装:cnpm i element-ui -S

开始使用UI框架,在main.js中添加如下代码:

import ElementUIfrom 'element-ui';

import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

简单的修改conponents/Helloworld.vue::


0004

现在重新运行:npm run dev


0005

三、搭建后台页面整体布局、使用组件

先看下基本后台布局,几个简单组件,这个截图是我用iview框架搭建的,所以本项目可能与这个有所不同,但是差别不会太大。

0006

在src目录下新建文件目录如下图:


0007

现在先编写home.vue:


0008


0009

这些代码都是复制element-ui里面的,代码:页面布局容器

这是项目报错了:


0010

看这意思就明白了,我们没有安装sass-loader,所有在使用sass时报错,那我们就来安装sass-loader:

cnpm install --save-dev sass-loader

//sass-loader依赖于node-sass

cnpm install --save-dev node-sass

这样就不报错了吧!

接下来我们再来修改下路由router/index.js:


0011

我们重新运行下项目:npm run dev,来看下结果吧!


0012

基本样子已经搭建好了,我们开始实现组件化吧,我们先抽离两个组件:header.vue、slider.vue;

写好的样子如下图:


0013

home.vue代码:


0014


0015

header.vue组件代码:


0016

再看下slider.vue组件代码:


0017

到这里我们的项目主页基本写完了,但是我们最终需要的不是静态的页面,是根据点击左侧菜单,显示不同的页面的效果,好的接下来,我们写下路由!

四、vue-router,实现多级路由嵌套,展示不同的菜单对应的页面

1、安装vue-router

学习如何使用vue-router之前,建议先看下vue-router官网:Vue Router | 起步

我之前写过一个关于vue-router多级路由嵌套的文章,希望你去看下,这里有地址:vue-router设置多级路由那些事 - 简书

言归正传,开始写代码,这里我们不用安装vue-router,因为在项目初始化的时候,我们安装过了,如果没有安装,那就在项目根目录下执行(安装过的小朋友,这里就不需要了):

cnpm install vue-router

在main.js下添加如下代码:

importVueRouterfrom'vue-router'

Vue.use(VueRouter);

2、创建几个需要的路由页面

在src/views文件下创建如下文件目录:


user.vue添加如下代码:(order-list.vue、goods-list.vue代码基本一样,就不一一列举了)


0019

这里值得注意的是,common/abstract.vue这个文件,这个文件是一个共用文件,代码如下:


0020

3、现在修改下home.vue:删掉丝代码,添加router-view,用来展示相关页面


4、现在来修改src/router/index.js  存放路由文件

0021


0021-1

写到这里,我们去检验下,自己写的路由有没有问题,那我们重新启动下项目:

npm run dev

在浏览器里输入:

http://localhost:8080/#/goods/list

如果你看到是这样的,那恭喜你写的路由没有问题了,如果不是,小朋友你可要认真看些上面的截图了


0022

好奇的同学就会想到了,我们要的不是在浏览器里输入路由地址,我们要点击左侧菜单栏,实现切换路由呀!好的,那我们去实现这样的功能吧!

5、slider.vue 动态的去展示所设计的的路由列表

    1、我们先来在src/router文件下新建silderPath.js文件:


0023

    2、我们将src/router/index.js下的部门代码,拷贝到silderPath.js下,silderPath.js:


0024


0024-1

    3、再来修改下src/router/index.js文件,代码如下:


0025

    4、接下来 就是重写layout/slider.vue组建了,写好的代码如下:


0026

    这里对navMenu这个组件不了解的小伙伴,可以看下这里,有对这个组件详细的解释:Element

重启下服务器:npm run dev   可以了,这个是不是你要的结果呀?


0027

还有的同学会说,我的项目需求侧边栏是这样的!那样的?就是侧边栏可以点击收缩的那种。好的,element-ui提供了这种效果,我们去实现吧!

先看看效果图:


0028


0028-1

1、修改header.vue组件,添加如下代码:


0029

2、修改silder.vue组件:


0030

3、在修改下home.vue:


0031

把几个组件修改完,我们现在去浏览下是否是我们要的结果呢?重新启动:npm run dev。

注意下,这里用到了父子组件之间通信,那么如何通信的呢?

1、父组件—>子组件:

    在父组件data定义变量,在子组件props里接受这个变量。这个变量传递是单向的,也就说父组件变量改动了,子组件接受的变量就随之变化;但是子组件接受的变量改变,不能引起父组件变量变化,这个vue2.0是不允许的,而且会报错。

2、子组件—>父组件:

    刚才说了,不允许子组件直接修改父组件传递过来的变量,那么真的不能修改了吗?不是的。

    子组件想要修改父组件传递过来的变量,可以使用:this.$emit这样方法,向父组件传递一个事件进而在父组件调用已定义好的方法修改变量,再传递给子组件,这样子组件接受的变量就改动了。

3、父组件调用子组件定义方法

    刚才介绍了子组件如何调用父组件方法,现在来说下,在父组件里调用子组件方法:

    这里用到了:this.$refs这个方法,父组件引用子组件,比如(在子组件上添加 ref=“child”’这个属性,在调用的方法的时候,添加:this.$refs.child.方法名,这样就可以了)

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

推荐阅读更多精彩内容