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的移动端项目:详情剧照

相关推荐
莫物4 分钟前
vue过滤表格数据导致的索引错乱问题
前端·javascript·vue.js
竹林8186 分钟前
从监听失败到实时更新:我在NFT铸造项目中搞定合约事件监听的全过程
前端·javascript
光影少年6 分钟前
手写防抖和节流
前端·javascript·前端框架
笨笨狗吞噬者20 分钟前
uni-app 编译小程序原生组件时疑似丢属性,可以给官方提 PR 了
前端·微信小程序·uni-app
英俊潇洒美少年22 分钟前
vue3的编译优化
前端
DaHai31 分钟前
在 Windows 上安装 uv(高性能 Python 包管理器)
前端
Lee川38 分钟前
🔍 React 面试官眼中的“秘密武器”:深度剖析 useRef
前端·react.js·面试
小文大数据41 分钟前
python实现HTML转PDF
java·前端·数据库
永恒_顺其自然1 小时前
Java Web 传统项目异步分块上传系统实现方案
java·开发语言·前端
后藤十八里1 小时前
维普期刊逆向笔记
javascript·笔记·js逆向