请说下封装 vue 组件的过程,vue3组件封装

  请说下封装 vue 组件的过程,vue3组件封装

  在封装第三方组件的过程中,往往会出现一个问题。下面这篇文章主要介绍如何在vue中更优雅的封装第三方组件的相关信息。通过示例代码非常详细的介绍,有需要的朋友可以参考一下。

  一.需求说明。技术要点介绍1。V-bind= $ attrs 2。V-on= $ listeners III。封装el-image的代码示例摘要

  

目录

  在实际开发中,为了减少重复造轮,提高工作效率,节省开发时间和成本,不可避免的要使用ui组件库,比如web前端非常流行的element-ui。但是有时候,我们需要在原有组件的基础上做一些修改,比如一个图像组件。我们需要统一图片加载失败时显示的具体图片。麻烦又费时,关键是维护成本高。当我们需要更新加载错误的图像时,我们必须找到组件被用来再次修改它们的地方。

  例如,定制分页组件也很常见。组件的风格,默认支持的页面数量,封装后的重用,有利于可维护性和开发效率。

  但是不需要从0开始写分页组件,只需要在原来的基础上打包就可以了,那么如何快速优雅的打包第三方组件库的组件呢?V-bind=attrs 和v on= listeners = $ listeners = $ listeners ,这会让我们大吃一惊。它们可以使封装后的组件“继承”原组件几乎所有的v-bind属性和v-on事件,其用法和功能与原组件相同。

  El-image被打包为自定义图像组件。在所有使用自定义图像显示图片的地方,提示“正在加载.”会在图片加载过程中统一显示,出现加载错误时,会显示统一的默认图片。下面是一个自定义图像组件加载过程和加载错误的影响。

  

一、需求场景描述

  

二、关键技术点介绍

  v-bind=$attrs 的神奇用途是创建更高级别的组件和封装第三方组件,

  父作用域中使用的v-bind的属性可以被自动绑定,

  并使用v-bind=$attrs 传递封装的组件。

  摘自vue官网介绍

  包含父范围中未被识别(并获得)为属性的属性。

  绑定(类和样式除外)。当组件没有声明任何属性时,

  所有父作用域(除了类和样式)的绑定都将包含在这里。

  并且内部组件3354可以通过v-bind=$attrs 传入,这在创建高级组件时非常有用。

  比如在我们打包的custom-Image组件中使用v-bind=$attrs 之后,我们在custom-Image组件中也几乎拥有了el-image的所有属性,其效果和用法与我们使用el-image是一样的,也就是说我们可以阅读el-image的文章并使用custom-Image。

  

1.v-bind="$attrs"

  v-on=listeners 和v-v bind= listeners 的功能和用法与v-bind= attrs 类似,可以使用v-on将父作用域中的时间侦听器向下传输到使用v-on=listeners 的组件。v-bind=listeners 组件和v-bind= listeners 组件与vbind= attrs 类似,只是其中一个属性是事件。或者以自定义图像组件为例。此时,自定义图像组件几乎具有el图像组件的所有事件。其效果和用法与el-image相同。

  包含父范围中的v-on事件侦听器(没有。原生修饰符)。

  它可以通过v-on=$listeners 传递到内部组件3354中。这在创建更高级别的组件时非常有用。

  摘自vue官网介绍

  

2.v-on="$listeners"

  使用自定义图像组件的示例

  自定义图像fit= fill class= icon-img :src= pic preview(expert)/自定义图像

  将el-image封装为自定义图像组件的示例

  模板

  div id=CustomImage

  El-image v-bind= $ attrs v-on= $ listeners

  div slot= error class= image-slot

  IMG:src= require( image-f/icon-empty-img . png ) alt= image failed to load . png /

  /div

  div slot= placeholder class= placeholder-slot 正在加载./div

  /el图像

  /div

  /模板

  脚本

  导出默认值{

  名称:“自定义图像”

  }

  /脚本

  样式范围的语言=scss

  #CustomImage {。图像槽{

  文本对齐:居中;

  }。占位符-插槽{

  文本对齐:居中;

  }

  }

  /风格

  

三、封装el-image的代码示例

  关于如何更优雅地在vue中封装第三方组件的这篇文章到此结束。有关vue封装第三方组件的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

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

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