Vue项目中常见问题(24)封装共用组件Carousel

本文档详细介绍了在Vue项目中如何将重复的轮播图组件进行封装,通过创建全局组件 Carousel 并在 Home/Floor 及 Home/ListContainer 中复用。主要步骤包括在 components 文件夹下创建 Carousel 组件,将原有轮播图结构迁移,然后在 main.js 中注册组件,最后在所需页面引用并调整数据。
摘要由CSDN通过智能技术生成

目录

gitee仓库地址:登录 - Gitee.comhttps://gitee.com/CMD-UROOT/sph-project/commits/master

1.Home/Floor中的轮播图是写在mounted里面的

 2.而我们的Home中大的轮播图ListContainer是写在watch中的

3.Floor中的代码如下

4.因为封装的后是全局组件,所以我们在components中新建一个文件夹Carousel,里面在建一个index.vue

5.把Home/Floor中轮播图的结构带走,放到我们新建的Carousel/index.vue中

6.在main.js中引入注册为全局组件 

 7.在Home/Floor/index.vue中使用轮播图

8.然后我们在Home/ListContainer/index.vue中把轮播图的数据换成下面的


gitee仓库地址:登录 - Gitee.comicon-default.png?t=M4ADhttps://gitee.com/CMD-UROOT/sph-project/commits/master

大家根据上传历史进行查找你需要的代码

由于首页Home中的轮播图有三个,结构和样式基本一样的,所以我们稍微修改一下代码,然后对轮播图进行封装

1.Home/Floor中的轮播图是写在mounted里面的

 2.而我们的Home中大的轮播图ListContainer是写在watch中的

 所以为了能够封装代码,我们把Home/Floor中轮播图的写法改为ListContainer中的写法

3.Floor中的代码如下

     watch: {
    list:{
      //立即监听,不管你数据有没有变化,上来立即监听一次
      immediate:true,
      handler(){
        //监听不到数据的变化,因为数据是从父组件传过来的一个对象,该有的数据都有,重来没有变化过
        // console.log('我在监听Floor组件中的list数据') 
        //只能监听到数据已经有了,但是v-for动态渲染结构我们还是没有办法确定的,因此还是需要用nextTick
        this.$nextTick(()=>{
          var mySwiper = new Swiper(
            this.$refs.cur, //用refs来获取DOM
            {
              //第一个参数:设置轮播图方向【属性这有两个:水平、垂直】
              // direction: 'vertical
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值