vue大型电商项目尚品汇(前台篇)day01
学完vue2还是决定先做一个比较经典,也比较大的项目来练练手好一点,vue3的知识不用那么着急,先把vue2用熟练了,vue3随时都能学。
这个项目确实很经典包含了登录注册、购物车电商网站该有的都有,后面还会结合elementUI构件后台管理界面。拭目以待!
一.初始化脚手架环境
vue create创建vue的脚手架环境
里面什么是什么配置文件这些就不同多说了,前面已经说过了,来说一下没有说过的一些配置。
当我们npm run serve跑项目的时候自动打开浏览器,对package.json启动serve的命令加一个open参数
关闭eslint校验功能
src文件简写,配置他的别名,因为后面可能经常会引入这个文件夹下的东西,经常要./或者../等,所以直接配置src文件夹别名为@,在jsconfig.js里面配置,注意新版脚手架一般都已经配置好了
二.项目路由分析
首先分析下组件
路由组件:首页(home)、搜索页(search)、登录页(login)、注册页(register)
非路由组件:头部header(首页、搜索页、登录、注册)、尾部footer(首页、搜索页)
三.Header和Footer非路由组件
根据以前创建一个项目的步骤,首先分好组件,然后完成静态页面创建,可以先放在App里面运行一下,然后把各自的代码放到组件里面去,拆分组件完成静态页面嘛,第二步就是完成完成动态数据的创建这些,第三步就是这些业务逻辑事件这些的完成,所以这里先完成Header和Footer的文件夹创建,注意以前是直接在components里面创建一般组件,现在是需要个文件夹里面再来个index.vue,因为这个组件可能有其他的依赖比如一些图片等所以还在这个文件夹里面操作一些其他的东西。
然后这里的css格式采用的是less格式,所以需要下载 less和less-loader
组件引入到App组件后发现还是有点css没有完整,那是因为有一些公共样式,需要引入到public文件夹,同时link方式引入到index.html页面,这里同时也要注意一下,后面打包的时候在public文件夹下面的文件会原封不动打包到dist目录里面去
启动项目发现一个错误,就是代码里面有一个需要引入images里面的图片,所以前面说需要将一个组件单独创建一个文件夹,因为还有可能放入其他东西的
现在就可以启动成功了,这个时候需要将公共样式放到public下面,并link引入到index.html
静态组件导入完毕
四.路由组件
下面开始布置路由组件,刚才分析的四个路由组建配置在pages文件夹下,同样的也是采用文件夹形式
然后就开始配置router配置文件
在入口文件导入并加入vm配置项
最后在该呈现我们路由组建的位置用router-view标签进行占位即可完成路由的搭建
1.路由组件和非路由组件的区别
- 路由组件一般是放在pages文件夹里面,非路由组件一般是放在components文件夹里面
- 路由组件需要在router配置文件里面进行注册,好让router进行kv的匹配,非路由组件注册在父级组件,以组件标签形式使用
- 注册完路由也就是在vm写完router之后,不管是vm还是vc身上都有了$router(一般进行编程式导航跳转,push、replace等)、$route(一般获取路由的信息,如query、路径、params等)两个api
2.路由的跳转
两个跳转方法,一个是router-link,一个是通过router这个api的push、replace方法,前者是声明式导航,后者是编程式导航,声明式导航能做到的编程式导航都可以做到,但是编程式导航还可以完成一些逻辑要求,比如我们点击登录这个时候不光是要跳转还要给数据发到ajax服务器,所以这个时候只能编程式导航了。
首先我们的登录注册直接跳到登录注册的页面上去,没有其他逻辑,所以直接用router-link
点击搜索按钮后期有一些业务逻辑,采用编程式跳转
3.路由重定向
在项目跑起来后,访问/根目录立马会跳转到首页,一个新的路由,匹配的key为*,一个全新的配置项 redirect值为我们要重定向的组件路径
五.路由元信息的使用
现在的问题,我们home和search这两个组件有footer,但是登录和注册没有footer组件,通过v-show来做,主要是判断的依据,可以用到当前切换过来的这个$route这个api里面的path或者name,但还是那个老问题,如果需要配置几百个路由组件就有点麻烦了,这里可以给meta路由元信息添加自定义信息,谁该显示,谁不该显示,直接v-show判断这个meta值就可以了
六.路由传递参数
当我们点击搜索要将我们的参数传到搜索页面,有两种参数,一种是query一种是params看你想要哪种,如果要获取params动态参数那么首先要到路由配置项将我们匹配的规则修改一下,注意占位要加引号,并且params要发参数过去,对象配置里面只能用name,所以最好这里也把name配置好
这里我把两个参数都获取过来
search界面接受参数
1.路由传参经典面试题
路由传参对象写法path能和params一起使用吗?
不能
如何指定params参数可传可不传?
如果配置路由项的时候,已经配置好了params的路由匹配规则,但是你传参的时候你又不传params,那么这个时候就会出现bug路径会出现问题
所以真的想要实现这个动态参数可传可不传的效果需要在路由配置里面加上一个?,跟正则里面一样?表示0到多个
这样就不会出现路径问题了,这个params参数就可以可传可不传了。
上面这种方法虽然可以实现params参数可传可不传,但是如果传的是一个空字符串又会出现bug,路径又会出现问题,search这个路径又没有了,这个要怎么解决?
在我们传params对象传参这里通过一个亦或语法来解决
路由组件能不能传递props数据?
可以,而且有三种第一种是写死的数据,在路由配置里面写
第二种是值为true,表示会将传过来的所有params数据接受到
第三种是函数的形式,并且可以拿到这个路由组建的$route,,并且跟计算属性一样靠的就是和这个返回值,那么就可以拿到query了,params更不用说了
vue大型电商项目尚品汇(前台篇)day01的更多相关文章
- vue大型电商项目尚品汇(前台篇)day02
现在正式回归,开始好好做项目了,正好这一个项目也开始慢慢的开始起色了,前面的准备工作都做的差不多了. 而且我现在也开始慢慢了解到了一些项目才开始需要的一些什么东西了,vuex.router这些都是必备 ...
- vue大型电商项目尚品汇(前台篇)day04
这几天一直都在做项目,只是没有上传上来,即将把前台项目完结了.现在开始更新整个前台的部分 一.面包屑处理 1.分类操作 点击三级联动进入搜索产生面包屑,直接取参数中的name即可 点击x怎么干掉这个面 ...
- vue大型电商项目尚品汇(前台篇)day05
紧急更新第二弹,然后就剩下最后一弹,也就是整个前台的项目 一.购物车 1.加入购物车(新知识点) 加入到购物车是需要接口操作的,因为我们需要将用户的加入到购物车的保存到服务器数据库,你的账号后面才会在 ...
- vue大型电商项目尚品汇(前台篇)day05终结篇
前台部分到此结束,一路走来还挺怀念,今天主要是对整个项目的完成做一个最后的收尾工作,对于功能上的需求没有什么了,主要就是项目上线的一些注意事项. 一.个人中心二级路由 当我们点击查看订单应该跳转到个人 ...
- vue大型电商项目尚品汇(后台篇)day03
今天把平台属性的管理基本完成了,后台管理做到现在基本也开始熟悉,确实就是对ElementUI的一个熟练程度. 一.平台属性管理 1.动态展示数据 先把接口弄好,应该在第三级标题选择后进行发请求 静态页 ...
- vue大型电商项目尚品汇(后台终结篇)day06 重磅!!!
自此整个项目前后台,全部搭建完毕. 今天是最后一天,内容很多,而且也比较常用,一个图标类数据可视化,一个后台的权限管理,都是很经典的类型. 一.数据可视化 1.简介 专门的一门学科,有专门研究这个的岗 ...
- vue大型电商项目尚品汇(后台篇)day01
开始我们后台篇的内容,前面处理了一些事情,去学校完成授位仪式,由校长授位合影,青春不留遗憾,然后还换了一个电脑,征战了四年的神船终于退役了,各种各样的小毛病是真的烦人. 现在正式开始后台篇的内容,做了 ...
- vue大型电商项目尚品汇(后台篇)day05
今天继续是对后台管理部分的一个操作,但是快要结束了,今天结束,明天会进入一个从Vue以来,另外一个名声显著的东西了,一只耳闻从未见识,而且十分的炫酷 他就是------数据可视化Echarts,迫不及 ...
- vue大型电商项目尚品汇(后台篇)day02
这几天更新有点小慢,逐渐开始回归状态了.尽快把这个后台做完,要开始vue3了 3.添加修改品牌 用到组件 Dialog 对话框,其中visible.sync这个配置是修改他的显示隐藏的,label-w ...
随机推荐
- (stm32学习总结)—对寄存器的理解 _
芯片里面有什么 我们看到的 STM32 芯片是已经封装好的成品,主要由内核和片上外设组成.若与电脑类比,内核与外设就如同电脑上的 CPU 与主板.内存.显卡.硬盘的关系.STM32F103 采用的是 ...
- (stm32f103学习总结)—stm32定时器中断
一.定时器介绍 STM32F1的定时器非常多,由2个基本定时器(TIM6.TIM7).4个通 用定时器(TIM2-TIM5)和2个高级定时器(TIM1.TIM8)组成.基本定 时器的功能最为简单,类似 ...
- 汽车最强大脑ECU和单片机是什么关系
先上图一张,据说这是某个F1赛车的动力总成ECU. 定睛一看,这不就是两个英飞凌的单片机的合体嘛. ECU的定义 ECU原来指的是engine control unit,即发动机控制单元,特指电喷发动 ...
- 浏览器视图层级中的“根”:<html>和<body>的属性研究
做前端开发的同学都会知道,每一个UI系统(比如IOS或Android)中都会有一个view hierarchy(视图层级)的概念,即所有的可视元素(大到一个页面,小到一个button)都在一个树形结构 ...
- python爬虫---链家网二手房价采集
代码: import requests from lxml import etree import pandas as pd from pyecharts.charts import Bar from ...
- IOH和MCH(北桥芯片的变化)
IOH位置架构图示意图 北桥芯片-MCH和北桥芯片-IOH区别 1.MCH是内存控制器中心的英文缩写,负责连接CPU,AGP总线和内存, 目前Intel的CPU已经把内存控制器(北桥芯片-MCH)总线 ...
- linux磁盘分区fdisk命令操作(实践)
写这篇的目的,还是要把整个过程完整的记录下来,特别是小细节的地方,通常很多情况是一知半解,平时不实践操作只凭看是没有用的,所以做这个行业就是要多动手,多学习,多思考慢慢你的思路也会打开.练就自己的学习 ...
- Java实现负载均衡算法--轮询和加权轮询
1.普通轮询算法 轮询(Round Robin,RR)是依次将用户的访问请求,按循环顺序分配到web服务节点上,从1开始到最后一台服务器节点结束,然后再开始新一轮的循环.这种算法简单,但是没有考虑到每 ...
- 新手小白入门C语言第二章:基本语法
1. 语句 C 语言的代码由一行行语句(statement)组成.语句就是程序执行的一个操作命令.C 语言规定,语句必须使用分号结尾,除非有明确规定可以不写分号. 如: int x = 1; 这就是一 ...
- perf性能分析工具使用分享
@ 目录 前言 perf的介绍和安装 perf基本使用 perf list使用,可以列出所有的采样事件 perf stat 概览程序的运行情况 perf top实时显示当前系统的性能统计信息 perf ...