Vue 详情模块 4

Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:详情剧照

目录

详情

剧照

增加剧照模块

设置轮播显示数量

组件内接收值

轮播冲突

解决

总结


详情

剧照

在详情detailView.vue文件中增加剧照。

增加剧照模块

直接复制演职人员全部结构,改为剧照。

修改渲染字段和图片路径,并删除名称和角色名称。

示例如下:

html 复制代码
<div>
   <div class="name">剧照</div>
   <detail-swiper>
   <detail-swiper-item v-for="(data, index) in filmInfo.photos" :key="index">
   <div :style="{backgroundImage: 'url('+ data +')'}" class="avatar"></div>
   </detail-swiper-item>
   </detail-swiper>
</div>
设置轮播显示数量

组件间传值,设置perview动态绑定属性,设置轮播图显示几个。

组件内接收值

在DetailSwiper.vue组件内接收值,设置为数字类型,

并在实例化Swiper时使用perview属性。

示例如下:

javascript 复制代码
export default {
  props: {
    perview: {
      type: Number,
      default: 1
    }
  },
  mounted () {
    new Swiper('.demo', {
      // 设置一页显示多个
      slidesPerView: this.perview,
      spaceBetween: 30,
      freeMode: true
    })
  }
}
轮播冲突

出现问题,单独使用都没问题,现在后面设置2个时,前面演职人员也变成2个。

同页面swiper实例化2次,类名是一样的,后面的就会按照后面的配置重新实例化。

如下:

解决

在原来基础上,增加name传值。

javascript 复制代码
export default {
  props: {
    perview: {
      type: Number,
      default: 1
    },
    name: {
      type: String,
      default: 'demo'
    }
  },

组件中设置动态类名

实例化时也改为传递的值

调用组件时传递的值

html 复制代码
<div class="name">演职人员</div>
        <detail-swiper :perview="3.5" name="actor">

<div class="name">剧照</div>
        <detail-swiper :perview="2" name="photos">

最后效果:

总结

Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:详情剧照

相关推荐
秋天的一阵风9 分钟前
✨ 代码秒跳转、自动补全?全靠 LSP 和 AST!
前端·后端·ai编程
程序员小淞21 分钟前
写一个行政区划下拉选组件(异步+搜索)
前端
星栈22 分钟前
用 Rust + Makepad 做一个 JSON 查看器:从零到能用的全过程
前端·rust
yijianace24 分钟前
Python爬虫实战:分页爬取 + 详情页采集 + CSV存储
前端·爬虫·python
十九画生24 分钟前
从同步到异步:重新理解 JavaScript 的执行机制
javascript
想吃火锅100527 分钟前
【前端手撕】防抖节流
前端
半个落月27 分钟前
JavaScript 同步异步与 Promise 详解 —— 从 Event Loop 到手写 sleep
javascript
MemoriKu27 分钟前
Flutter 相册 APP 视频模态稳定化实战:从视频抽帧、Embedding 元数据到 Android 真机启动修复
android·开发语言·前端·flutter·架构·音视频·embedding
触底反弹31 分钟前
深入理解 JavaScript 同步与异步:从 Event Loop 到 async/await
javascript
lichenyang45332 分钟前
ArkUI 票根卡片:PathShape 真挖洞,shadow 沿凹陷外发光
前端