yb课堂 首页home开发 《三十七》
Home模块开发
拆分子组件
- Home
- banner
- videoList
指令属性里面取data里面的数据不用加{{}},html标签内容体中间则需要加双花括号
创建component文件夹
在src/views/Home下创建component文件夹
在component目录下,分别创建Banner.vue、VideoList.vue
首页开发
Home.vue
<template>
<div>
<!--首页轮播图-->
<home-banner :banners="banners"></home-banner>
<home-video-list :videoList="videoList"></home-video-list>
<common-footer></common-footer>
</div>
</template>Í
<script>
import HomeBanner from "./component/Banner";
import HomeVideoList from "./component/VideoList";
import CommonFooter from "@/components/CommonFooter";
import { getBanner, getVideoList } from "@/api/getData.js";
export default {
//注册组件
components: {
HomeBanner,
HomeVideoList,
CommonFooter
},
//声明数据源
data() {
return {
banners: [],
videoList: []
};
},
//定义方法
methods: {
async getBannerData() {
try {
//获取轮播图数据
const result = await getBanner();
console.log(result)
console.log(result.code == 0)
if (result.data.code == 0) {
this.banners = result.data.data;
}
} catch (error) {
console.log(error);
}
},
async getVList() {
try {
//获取视频列表
const result = await getVideoList();
console.log(result)
if (result.data.code == 0) {
this.videoList = result.data.data;
}
} catch (error) {
console.log(error);
}
}
},
//页面渲染完成调用方法获取数据
mounted() {
this.getBannerData();
this.getVList();
}
};
</script>
<style lang="scss" scoped>
</style>
轮播图开发
cube-ui轮播图参考地址:https://didi.github.io/cube-ui/#/zh-CN/docs/slide
Banner.vue
<template>
<div>
<cube-slide :data="banners">
<cube-slide-item v-for="(item, index) in banners" :key="index">
<a :href="item.url">
<img :src="item.img" style="width:100%" />
</a>
</cube-slide-item>
</cube-slide>
</div>
</template>
<script>
export default {
//获取父组件传过来的值
props: {
banners: {
type: Array,
required: true
}
}
};
</script>
<style lang="scss" scoped>
</style>
视频列表开发
router-link
- 用于路径跳转
- 文档:https://router.vuejs.org/zh/api/#router-link
VideoList.vue
<template>
<div class="list-content">
<div class="list">
<router-link v-for="item in videoList" :key="item.id" :to="{path:'coursedetail',query:{video_id:item.id}}" class="course">
<div class="item_img">
<img :src="item.cover_img" />
</div>
<div class="video_info">
<div class="c_title">
{{item.title}}
</div>
<div class="price">
¥{{item.price/100}}
</div>
</div>
</router-link>
</div>
</div>
</template>Í
<script>
export default {
props: {
videoList: {
type: Array,
required: true
}
}
};
</script> <style lang="scss" scoped>
//列表包裹层边距
.list-content {
margin-top: 20px;
padding: 0 13px;
}
//视频包括层
.list {
display: flex; //设置flex布局
flex-wrap: wrap; //换⾏排列
justify-content: space-between; //两端对⻬
padding-bottom: 55px;
}
//视频个体层
.course {
width: 48%;
margin-bottom: 17px;
}
//视频图⽚
.item_img {
font-size: 0; //消除图⽚元素产⽣的间隙
box-shadow: 0 4px 11px 0 rgba(43, 51, 59, 0.6); //设置图⽚阴影,rgba前三个参数是颜⾊编码,最后⼀个是透明度
border-radius: 8px; //设置图⽚圆⻆
img {
width: 100%;
border-radius: 8px;
}
}
.c_title {
//设置超过两⾏隐藏 start
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
word-break: break-all;
//设置超过两⾏隐藏 end
font-size: 11px;
height: 26px;
line-height: 13px;
margin-top: 10px;
color: #2b333b;
}
//价格
.price {
margin-top: 8px;
font-size: 12px;
color: #d93f30;
}
</style>
yb课堂 首页home开发 《三十七》的更多相关文章
- “全栈2019”Java多线程第三十七章:如何让等待的线程无法被中断
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java第三十七章:类与字段
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- App开发三种模式
APP开发三种模式 现在App开发的模式包含以下三种: Native App 原生开发AppWeb App 网页AppHybrid App 混合原生和Web技术开发的App 详细介绍: http:// ...
- iOS开发三步搞定百度推送
iOS开发三步搞定百度推送 百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...
- 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...
- 基于Spring MVC的Web应用开发(三) - Resources
基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...
- NeHe OpenGL教程 第三十七课:卡通映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Java Web高性能开发(三)
今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提 ...
- C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息
原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...
- Java进阶(三十七)java 自动装箱与拆箱
Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...
随机推荐
- C#.Net筑基-模式匹配汇总
01.模式匹配概述 从C#7开始支持的 模式匹配 语法(糖,挺甜),可非常灵活的对数据进行条件匹配和提取,经过多个版本的完善,已经非常强大了. C# 支持多种模式,包括声明.类型.常量.关系.属性.列 ...
- c 语言不输出空数据 (全面覆盖)
目录 去除空值的专栏 解决方案 一.通过数组的自身性质,让其值大于零 1. short 数组测试 2. int 数组测试 3. long 数组测试 4. float 数组测试 5. float 数组测 ...
- 4G EPS 的网络协议栈
目录 文章目录 目录 前文列表 LTE/EPC 协议栈 E-UTRAN 空中接口协议栈 用户平面协议 PHY 层 MAC 层 RLC 层 PDCP 层 控制平面协议 RRC 层 NAS 层 EPC 核 ...
- 阿里云sdk调用
slb调用 环境包安装 pip install alibabacloud_credentials --trusted-host mirrors.aliyun.com -i http://mirr ...
- C++ Virtual Functions
Virtual这个关键字在多态中扮演一个绝对重要的角色,只要member functions声明的前面加上virtual的关键字,他就会成为 Virtual member functions.任何一个 ...
- 启动Django项目的方式
方式一: python manage.py runserver 方式二: # 加上监听地址和端口 python manage.py runserver 0.0.0.0:8080 方式三: 使用 Pyc ...
- 原生Django出现同源策略跨域的解决方式
解决方式: 在返回数据的时候,添加响应头信息: 例如:
- 一个简单demo展示应用接口使用goroutine优雅退出
package main import ( "context" "errors" "log" "net/http" &q ...
- 资源编排ROS之模块:实现模板代码复用(基础篇)
背景 资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务.您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所 ...
- 【Socket】解决TCP粘包问题
一.介绍 TCP一种面向连接的.可靠的.基于字节流的传输层协议. 三次握手: 客户端发送服务端连接请求,等待服务端的回复. 服务端收到请求,服务端回复客户端,可以建立连接,并等待. 客户端收到回复并发 ...