vue轮播图组件,js封装轮播图_1

  vue轮播图组件,js封装轮播图

  本文主要介绍vue3.0打包轮播组件的步骤,帮助你更好的理解和学习使用vue框架。感兴趣的朋友可以了解一下。

  

目录

  一:打包思路二:打包流程三:点号指示符四:左右指示符五:最后:六:往期回顾,然后熟悉vue3.0的基本用法,使用一段时间后,开始准备开发vue3.0使用的pc的组件库,我们会陆续按照一些新组件库的编写方法和注意事项,感兴趣的同学可以多关注一下。不多bb了,走吧。

  开发一个carousel组件,适用于pc(暂时不考虑app),用于vue3.0 TS。

  一般实现效果如下:

  图片免费轮播,对应点图片跳转,左右指示器跳转等。公开了以下选项配置:

  以上是主要选项。让我们扩展一下如何封装它们。

  

一:封装思想

  其实vue3.0和vue2.0封装组件的核心思想是一样的,都需要使用vue . component();注册组件,然后在可以使用它们之前将它们安装在main.ts中。

  在src: src - libs - sqm_UI(您自己的UI库的名称)- index.js下创建它

  这里的index.js是注册组件的入口。

  在同一个目录中创建一个新文件Carousel。该文件包含所有转盘组件的功能和样式。

  目录如下:

  注:虽然在vue3.0和ts中使用,但js还是用于导入文件,也是为了非ts写的应用。

  在index.js中:

  从导入旋转木马。/Carousel/Carousel ;

  从导入CarItem。/Carousel/item ;设SqmUI={ };

  SqmUI.install=function(vue) {

  vue.component(Carousel.name,Carousel);

  vue.component(CarItem.name,CarItem);

  };

  导出默认SqmUI

  但是,为了与ts配合,我们需要创建一个新的index.d.ts文件来为TS描述库中的成员类型。

  声明const _default: ({

  安装:(app: import(vue )。Appany,选项:any[])=any;//这里简单描述一下install });

  导出默认_默认;

  以上配置完成后,在main.ts中使用:

  从“@/libs/sqm_ui/index”导入SqmUI

  从“vue”导入{ create app };

  create app . use(SqmUI);

  

二:封装流程

  对于carousel,我们需要一个固定的容器来容纳每一张滚动的图片。这时,我们需要定义一个Carousel.vue组件。

  模板

  div class=旋转木马

  Slot/Slot //这里的slot是用来放置物品组件的。

  /div

  /模板

  还需要一个存储照片的组件item.vue

  模板

  div class=旋转木马-项目

  Slot/Slot //这里的slot是用来放置img的

  /div

  /模板

  框架基本搭建完成,用户使用时在carousel中配置选项。

  旋转木马

  :autoPlay=true

  :durdation= 3000

  :initial=3

  :hasDot=true

  :hasDirector=true /carousel

  在carousel.vue中:接受传入的配置项。

  道具:{

  自动播放:{

  类型:布尔型,

  默认值:true },

  持续时间:{

  类型:数量,

  默认值:3000 },

  初始:{

  类型:数量,

  默认值:0,

  hasDot: {

  类型:布尔型,

  默认值:true },

  hasDirector: {

  类型:布尔型,

  默认值:true }

  }

  (1):实现自动播放:

  在carousel.vue中:

  const autoPlay=()={

  if (props.autoplay) {

  t=setInterval(()={

  //轮播逻辑

  },props . duration);

  };

  onMounted(()={

  autoPlay();

  });

  逻辑很简单。定义一个自动播放功能,并将其安装在已安装的阶段中。

  (2):实现轮播:

  想到这个问题:怎么才能让这个图片显示出来?当前图片的索引必须等于转盘的索引才能显示。

  在item.vue中:

   v-if=selfIndex===currentIndex

  插槽/插槽

  /div

  只有当它自己的索引等于当前索引时,它才能显示。

  获取当前索引:

  vue3.0中的内置方法:getCurrentInstance()

  这是一个非常重要的方法,通过它我们可以得到当前组件的实例,然后通过ctx得到组件的上下文。特别好用。

  在item.vue中:

  setup() {

  以上是vue3.0打包轮播组件的步骤细节。更多关于vue3.0打包转盘组件的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: