业务需求:
- 初始化布局
- 页头页脚公共组件
- 首页轮播图
layouts/default.vue
代码如下: html {
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 16px;
word-spacing: 1px;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
}*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
}.button--green {
display: inline-block;
border-radius: 4px;
border: 1px solid #3b8070;
color: #3b8070;
text-decoration: none;
padding: 10px 30px;
}.button--green:hover {
color: #fff;
background-color: #3b8070;
}.button--grey {
display: inline-block;
border-radius: 4px;
border: 1px solid #35495e;
color: #35495e;
text-decoration: none;
padding: 10px 30px;
margin-left: 15px;
}.button--grey:hover {
color: #fff;
background-color: #35495e;
}
二 新建公共组件 1.思路 1.在components 文件夹中新建所有页面统一的头部组件和页脚组件
2.在默认布局中 layouts/default.vue中 导入公共组件并使用
组件约定:公共组件不需要放到子文件夹中:如下图
头部下拉菜单组件文档:https://element.eleme.cn/#/zh-CN/component/dropdown#ji-chu-yong-fa
文章图片
2.实现步骤 2.1 头部组件
components/pageFooter.vue 文件代码如下:
?
文章图片
?
首页
旅游攻略
酒店
国内机票
?
?
文章图片
用户名
个人中心
退出
登录 / 注册
.header {
height: 60px;
line-height: 60px;
background: #fff;
border-bottom: 1px #ddd solid;
box-shadow: 0 3px 0 #f5f5f5;
box-sizing: border-box;
.main {
width: 1000px;
margin: 0 auto;
}.logo {
width: 156px;
padding-top: 8px;
img {
display: block;
width: 100%;
}
}.navs {
margin: 0 20px;
flex: 1;
a {
display: block;
padding: 0 20px;
height: 60px;
box-sizing: border-box;
&:hover,
&:focus,
&:active {
border-bottom: 5px #409eff solid;
color: #409eff;
}
}
// 菜单高亮时的颜色
/deep/ .nuxt-link-exact-active {
background: #409eff;
color: #fff !important;
}
}.message {
height: 36px;
line-height: 1;
cursor: pointer;
.el-icon-bell {
margin-right: 2px;
font-size: 18px;
}
}.el-dropdown-link {
margin-left: 20px;
&:hover {
img {
border-color: #409eff;
}
}a {
display: block;
}img {
width: 32px;
height: 32px;
vertical-align: middle;
border: 2px #fff solid;
border-radius: 50px;
}
}.account-link {
font-size: 14px;
margin-left: 10px;
color: #666;
&:hover {
color: #409eff;
text-decoration: underline;
}
}
}
2.2 页脚组件
在components/pageFooter.vue的代码如下:
闲云旅游旅游网上亿旅行者共同打造的"旅行神器"
60,000 多个全球旅游目的地
600,000 个细分目的地新玩法
760,000,000 次攻略下载
38,000 家旅游产品供应商
关于我们隐私政策 商标声明
服务协议 游记协议
商城平台服务协议
网络信息侵权通知指引
闲云旅游旅游网服务监督员
网站地图加入闲云旅游
旅行服务旅游攻略 酒店预订
旅游特价 国际租车
旅游问答 旅游保险
旅游指南 订火车票
旅游资讯 APP下载
文章图片
关注我们
?
京ICP备08001421号 京公网安备110108007702 Copyright ? 2016-2019 博学谷 All Rights Reserved.footer-wrapper {
background: #333;
color: #ccc;
min-width: 1000px;
}.footer {
padding-top: 30px;
margin: 0 auto;
width: 1000px;
}.info-list {
h5 {
font-weight: normal;
font-size: 16px;
margin-bottom: 10px;
}p {
font-size: 12px;
line-height: 1.8;
span {
color: orange;
}
}
}.scan {
text-align: center;
img {
width: 140px;
height: 140px;
}font-size: 12px;
}.licence {
border-top: 1px #666 solid;
margin-top: 20px;
padding: 50px 0;
text-align: center;
font-size: 12px;
}
3 总结:
- layouts.default.vue是默认的布局组件,会作用于任何页面
- 在layouts/default.vue 中导入全局的头部组件和页脚组件,就可以查看到基本的页面效果了
三 首页轮播图 1. 思路
- 使用 Element-ui 的幻灯片组件 el-carousel,新增首页的轮播图布局
- 请求后端接口替换静态图片数据
- 首页的轮播图布局,pages/index.vue 是在 layouts/default.vue 中的 中渲染
- banners 是我们自己构建的一个死数据数组, 用来遍历之后生成多张图片进行轮播
.container{
min-width:1000px;
margin:0 auto;
position:relative;
/deep/ .el-carousel__container{
height:700px;
}.banner-image{
width:100%;
height:100%;
}
}
2.2 请求后端接口数据
this.$axios能使用 是因为 nuxt 已经帮我们绑定了
文章图片
2.3 修改 template 的图片地址,添加 $axios.defaults.baseURL,因为接口返回的图片链接时相对链接
{{$axios.defaults.baseURL}}{{item.url}}
3.总结
- 使用Element-ui的幻灯片组件 el-carousel 实现轮播图,开始显示固定数据,固定的图片
- 使用this.$axios 请求后台轮播图接口 获取数据
- 在模板中使用$axios.defaults.baseURL 补全图片地址进行显示
推荐阅读
- 计算机毕业设计|Java项目毕业设计(基于springboot+vue的旅游信息网站)
- 商城项目学习|牛客网的项目梳理
- 小程序|(已更新)超火的微信养宠小程序源码+十二生肖素材
- 工作第一年|快速上手微信小程序(纯原生)基于微信开发者工具+云开发
- vue|vue-cli脚手架2版本及3+版本安装、目录解析、only和compiler的区别、3+版本如何改配置、箭头函数及this的指向
- vue|Vuex的作用、使用、核心概念(State、Mutations、Getters、Actions、Modules)、文件抽离
- Vue.js|十二、Promise的学习笔记(Promise的基本使用、链式编程、all())
- vue.js|springboot+Vue+微信小程序开发微信做菜系统
- 前端|Vue.js环境搭建、安装Vue-cli脚手架、Visual studio code