Vue 正在热映模块

Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:正在热映模块

目录

正在热映

数据修改

导入axios

配置反向代理

正在热映渲染

赋值数据

渲染列表

显示图片

优化列表

设置列表样式

主演

定义过滤器

使用过滤器

主演过长处理

无主演情况处理

观众评分

总结


正在热映

数据修改

修改获取正在热映NowPlaying页面数据的方式和数据源。

导入axios

原来的datalist数据是写的死数据,改为通过axios请求后端接口数据。

并设置请求头。示例如下:

<script>
import axios from 'axios'
export default {data () {return {datalist: ['春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少']}},mounted () {axios({url: '/api/gateway?cityId=130100&pageNum=1&pageSize=10&type=2&k=34098',headers: {'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1','X-Host': 'mall.film-ticket.film.list','X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"17479694011920413022027777"}'}}).then(res => {console.log(res.data)})},methods: {handleChangePage (id) {// 通过命名路由跳转this.$router.push({name: 'detail',params: {id}})}}
}
</script>

 

配置反向代理

解决跨域方式

接口需要设置允许跨域,前端或后端设置都可以;或者反向代理。

目前解决跨域问题,在vue.config配置反向代理。

凡是向api开头的请求路径就会进行转发请求。

示例如下:

const path = require('path')// 解析路径的函数
const resolve = dir => {return path.join(__dirname, dir)
}module.exports = {lintOnSave: false, // 检查语法格式// 配置反向代理devServer: {proxy: {'/api': {target: 'https://m.maizuo.com',changeOrigin: true,pathRewrite: { '/api': '' } // 重写路径}}},configureWebpack: {resolve: {alias: {'@': resolve('src'),_mycom: resolve('src/mycomponents') // 将_mycom映射到src/mycomponents}}}
}

控制台打印数据

正在热映渲染

赋值数据

在NowPlaying页面在data函数中先把datalist置空为空数组,

然后在接口获取数据后,进行赋值。

示例如下:

 

渲染列表

修改原有渲染列表代码。

示例如下:

<template><div>nowplaying<ul><li v-for="data in datalist" :key="data.filmId"@click="handleChangePage(data.filmId)">{{data.name}}</li></ul></div>
</template>
显示图片

在原来的列表渲染上,增加电影封面显示;

增加img标签,动态绑定图片路径。

示例如下:

<template><div>nowplaying<ul><li v-for="data in datalist" :key="data.filmId"@click="handleChangePage(data.filmId)"><img :src="data.poster" alt="">{{data.name}}</li></ul></div>
</template>

 

优化列表

优化列表样式和元素排列组合。

示例如下:

<template><div><ul><li v-for="data in datalist" :key="data.filmId"@click="handleChangePage(data.filmId)"><img :src="data.poster" alt=""><div class="play_info"><div class="title">{{data.name}}</div><div class="content"><div>观众评分:<span style="color:red">{{data.grade}}</span></div><div>主演:{{data.actors}}</div><div>{{data.nation}} | {{data.runtime}}分钟</div></div></div></li></ul></div>
</template>

 

设置列表样式

对列表中的影片封面、标题、内容设置样式。

示例如下:

<style lang="scss" scoped>
ul{li{overflow:hidden;padding: .833333rem;img {width: 3.6666667rem;height: 5.2222rem;float: left;}.play_info {float:left;padding-left: 10px;}.title {font-size: 16px;}.content {font-size: 13px;color:gray;}}
}
</style>

 

主演

主演部分因为是列表结构,需要使用过滤器来处理主演变成字符串,

而后显示在列表中。

定义过滤器

在当前页面定义过滤器,示例如下:

import Vue from 'vue'// 定义过滤器处理主演名称
Vue.filter('actorName', (data) => {return data.map(item => item.name).join(' ')
})

 

使用过滤器

直接在主演后面使用过滤器。示例如下:

<div>主演:{{data.actors | actorName}}</div>
主演过长处理

当主演过长时,通过设置样式超过盒子长度直接进行隐藏。

示例如下:

设置类

<div class="actors">主演:{{data.actors | actorName}}</div>

设置样式

.content {font-size: 13px;color:gray;.actors {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width: 11.6333rem;}}
无主演情况处理

过滤器处理时,增加参数判断。

示例如下:

Vue.filter('actorName', (data) => {if (data === undefined) return '暂无主演'return data.map(item => item.name).join(' ')
})

 

观众评分

观众评分不存在,则不显示,但仍占位。

示例如下:

<div :class="data.grade ? '' : 'hidden'">观众评分:
<span style="color:red">{{data.grade}}</span></div>

设置隐藏样式

.hidden {visibility: hidden;
}

 

盒子高度修改

在app.vue中设置整个列表 距底部49px。

<template><div><tabbar></tabbar><!-- 路由容器 --><section><router-view></router-view></section></div>
</template>

设置样式

section {padding-bottom: 2.7222rem;
}

总结

Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:正在热映模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91207.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云上进行k8s集群的配置

在阿里云容器服务Kubernetes&#xff08;ACK&#xff09;中配置集群的核心步骤可分为以下六大关键环节&#xff0c;涵盖架构设计到运维管理&#xff1a;1. 集群规划与基础配置 集群类型选择 托管版&#xff1a;Master节点由阿里云托管&#xff08;推荐生产环境&#xff09;专有…

页面性能优化

优化点解决方案效果双向绑定数量过多竞对设置单元格内部涉及双向绑定的输入组件过多&#xff0c;线上页面最多有88个该和抽屉中的编辑表格一样的组件&#xff0c;共计930个&#xff08;按每行最少6个来计算的&#xff09;双向绑定的组件&#xff0c;严重拖累页面性能。数据计算…

详细说明零拷贝

详细说明零拷贝【一】零拷贝介绍【1】说明【2】为什么需要零拷贝&#xff1f;—— 传统数据传输的问题【3】零拷贝的核心优化【4】零拷贝的实现方式&#xff08;1&#xff09;mmap&#xff08;内存映射&#xff09;&#xff08;2&#xff09;sendfile&#xff08;Linux 系统调用…

docker部署自己写的c++http服务器教程

我用的是ubuntu 22.04环境下 qt c 写的应用程序&#xff0c;是终端程序&#xff0c;不是界面&#xff0c;然后用linuxdeployqt工具将其打包成了AppImage可执行文件&#xff0c;以上是部署前的准备工作&#xff0c;需要确保AppImage可执行文件在自己的ubuntu上可以运行才能执行以…

Caffeine 缓存库的常用功能使用介绍

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

C# _列表(List<T>)_ 字典(Dictionary<TKey, TValue>)

目录 列表&#xff08;List&#xff09;特点 创建列表 RemoveAll 删除与之条件相匹配的数据 会返回删除的个数 Capacity 获取或设置列表的容量 更多方法可参照上篇文章&#xff1a;C#_ArrayList动态数组 字典&#xff08;Dictionary&#xff09;特点 定义一个字典 向字…

【实时Linux实战系列】实时网络控制与调度

在实时控制系统中&#xff0c;网络调度是确保实时数据流传输和处理不受延迟影响的关键。实时网络控制与调度技术对于工业自动化、金融交易、多媒体流等领域至关重要。通过合理设计网络调度策略&#xff0c;可以显著提高系统的实时性和可靠性。本文将介绍如何在实时控制系统中实…

Qwen3-Coder:介绍及使用 -- 超强AI编程助手

更多内容&#xff1a;XiaoJ的知识星球 目录一、Qwen3-Coder模型介绍1.预训练阶段&#xff08;Pre-Training&#xff09;2.后训练阶段&#xff08;Post-Training&#xff09;1&#xff09;Scaling Code RL: Hard to Solve, Easy to Verify2&#xff09;Scaling Long-Horizon RL二…

uniapp 如果进入页面输入框自动聚焦,此时快速返回页面或者跳转到下一个页面,输入法顶上来的页面出现半屏的黑屏问题。

如果进入页面输入框自动聚焦&#xff0c;此时快速返回页面或者跳转到下一个页面&#xff0c;输入法顶上来的页面出现半屏的黑屏问题。输入法出来后&#xff0c;设置了自动将页面顶上来的配置&#xff1a;pages.json"softinputMode": "adjustResize""g…

深入了解 Kubernetes(k8s):从概念到实践

目录 一、k8s 核心概念 二、k8s 的优势 三、k8s 架构组件 控制平面组件 节点组件 四、k8s docker 运行前后端分离项目的例子 1. 准备前端项目 2. 准备后端项目 3. 创建 k8s 部署配置文件 4. 部署应用到 k8s 集群 在当今云计算和容器化技术飞速发展的时代&#xff0c…

Android User版本默认用test-keys,如何改用release-keys

Android User版本 默认用test-keys&#xff0c; 如何改用release-keys 开发云 - 一站式云服务平台 --- build/core/Makefile | 5 1 file changed, 5 insertions() diff --git a/build/core/Makefile b/build/core/Makefile index --- a/build/core/Makefile b/build/core…

从零开始学习Dify-数据库数据可视化(五)

概述上一篇文章我们围绕 Excel 文件展开数据可视化教学&#xff0c;逐步掌握了数据导入、图表构建和 AI 智能分析。在实际业务环境中&#xff0c;很多数据并不是保存在表格中&#xff0c;而是存储于数据库系统中&#xff0c;尤其是最常见的 MySQL。本篇作为本系列的第五篇&…

使用vue2和 element-ui 做一个点餐收银台系统前端静态项目

今天给大家分享一个 关于点餐收银台的静态网站&#xff0c;最近一直在练习前端项目&#xff0c;就使用vue2和 element-ui 做了一个 这样简单的 收银台系统。先给大家看一下 做出来的样子。 因为是练习项目 所以页面功能还是比较简单的。 使用的技术是&#xff1a; 技术栈 Vu…

Spring Boot自动配置原理深度解析

Spring Boot自动配置原理深度解析 一、自动配置核心概念 1.1 什么是自动配置 Spring Boot自动配置(Auto-Configuration)是其核心特性之一&#xff0c;能够根据项目依赖自动配置Spring应用程序。例如&#xff1a; 当检测到H2数据库依赖时&#xff0c;自动配置内存数据库当存在Sp…

关于 Apache Ignite 中 Job 调度(Job Scheduling)与冲突控制(Collision Control) 的机制说明

这段内容是关于 Apache Ignite 中 Job 调度&#xff08;Job Scheduling&#xff09;与冲突控制&#xff08;Collision Control&#xff09; 的机制说明。我来为你逐段解析&#xff0c;帮助你深入理解其原理和使用方式。&#x1f50d; 一、核心概念&#xff1a;Job 调度与 Colli…

网络资源模板--基于Android Studio 实现的课程管理App

目录 一、测试环境说明 二、项目简介 三、项目演示 四、部设计详情&#xff08;部分) 登录页 首页 五、项目源码 一、测试环境说明 电脑环境 Windows 11 编写语言 JAVA 开发软件 Android Studio (2020) 开发软件只要大于等于测试版本即可(近几年官网直接下载也可…

ROUGE-WE:词向量化革新的文本生成评估框架

一、ROUGE 基础与核心局限 ROUGE&#xff08;Recall-Oriented Understudy for Gisting Evaluation&#xff09; 是自动文本摘要与机器翻译的主流评估指标&#xff0c;由 Chin-Yew Lin 在2004年发表的论文中首次系统提出。其核心变体包括&#xff1a; ROUGE-N&#xff1a;基于…

MGER综合实验

一.拓扑二、实验需求 1、R5为ISP&#xff0c;只能进行IP地址配置&#xff0c;其所有地址均配为公有IP地址; 2、R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方; R2与R5之间使用ppp的CHAP认证&#xff0c;R5为主认证方; R3与R5之间使用HDLC封装; 3、R1、R2、R3构建一个MGRE环…

高可用集群Keepalived、Redis、NoSQL数据库Redis基础管理

1. 总结负载均衡常见的算法 轮询 (Round Robin)&#xff1a;按顺序将请求依次分配给后端服务器&#xff0c;适合服务器性能相近的场景。 加权轮询 (Weighted Round Robin)&#xff1a;在轮询的基础上&#xff0c;根据服务器的权重分配请求。 随机 (Random)&#xff1a;随机选…

【深度学习】独热编码(One-Hot Encoding)

独热编码&#xff08;One-Hot Encoding&#xff09; 在机器学习中&#xff0c;数据预处理是不可或缺的关键一步。面对各种非数值类型的分类数据&#xff08;Categorical Data&#xff09;&#xff0c;如何将其转换为机器学习模型能够“理解”的语言呢&#xff1f;独热编码&…