2021-10-11 vue的第三方组件二次封装
原理
- v-bind="$attrs"继承所有属性和props。
- v-on="$listeners"继承所有的方法。
<template>
<div style="display: contents;">
<第三方组件名称 v-bind="$attrs" v-on="$listeners" @click="handleClick()">
<slot name="default"> 默认slot的默认值</slot>
</第三方组件名称>
</div>
</template>
<script>
import 第三方组件名称 from './第三方组件文件所在目录/第三方组件名称.vue'
export default {
name: '当前二次封装组件名称',
components: {
第三方组件名称,
},
model: {
prop: 'value',
event: ['用于更新父组件绑定model的子组件emit值'],
},
props: {
value: {
type: [String, Number,],
default: () => {
const theDate = '由父组件v-model绑定后传入的名为value的props默认值'
return theDate
},
},
},
data() {
return {
stateControl: {
theValue: '当前组件内部value的默认值',
},
}
},
watch: {
async value() {
if (this.stateControl.theValue !== this.value) {
this.stateControl.theValue = this.value
}
},
'stateControl.theValue'() {
if (this.stateControl.theValue !== this.value) {
const params = this.stateControl.theValue
this.$emit('用于更新父组件绑定model的子组件emit值', params)
}
},
},
mounted() {
this.handleClick()
},
methods: {
handleClick() {
console.log('当前二次封装组件内部点击事件;')
},
},
}
</script>
说明
- 这种方式没有让第三方组件直接继承父组件的slot,即第三方组件的slot需要自己补充实现。
来源
2021-10-11 vue的第三方组件二次封装的更多相关文章
- element el-table表格的vue组件二次封装(附表格高度自适应)
基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...
- Noip模拟74 2021.10.11
T1 自然数 考场上当我发现我的做法可能要打线段树的时候,以为自己百分之百是考虑麻烦了 但还是打了,还过掉了所有的样例,于是十分自信的就交了 正解还真是线段树,真就第一题数据结构 但是包括自己造的小样 ...
- vue中axios的二次封装
我们做项目时,虽然axios也可以直接拿来用,但是对接口比较零散,不太好进行维护,也会产生大量的重复代码,所以我在这对axios进行了统一接口处理 第一步,先在src中的公共文件夹中如utils里新建 ...
- Java初步学习——2021.10.11每日总结,第六周周一
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天继续学习菜鸟教程Java实例 字符串 9.字符串小写转大写--toUpperCase方法 public class Ma ...
- vue分页组件二次封装---每页请求特定数据
关键步骤: 1.传两个参数:pageCount (每页条数).pageIndex (页码数): 2.bind方法的调用 <!-- 这部分是分页 --> <div class=&quo ...
- 2021.10.11考试总结[NOIP模拟74]
T1 自然数 发现\(mex\)是单调不降的,很自然地想到用线段树维护区间端点的贡献. 枚举左端点,用线段树维护每个右端点形成区间的\(mex\)值.每次左端点右移相当于删去一个数. 记\(a_i\) ...
- 日常Java 2021/10/11
抽象类 所有对象都是通过类描述的,但不是所有的类都是用来描述对象,就好比抽象类,此类中没有足够的信息描述一个对象. 抽象类不能实例化对象,所以抽象类必须的继承,才可以使用. 抽象方法 Abstract ...
- 【uni-app】uni.request二次封装,更好的管理api接口和使用
前言 之前写了一个Vue.js的axios二次封装(点击跳转),这次是uni-app,uni-app是基于vue.js框架的,我觉得是很好用的一个框架,而且一套代码编译那么多平台,非常节省成本,当然, ...
- 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm
前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...
- vue中修改第三方组件的样式不生效
问题 在使用element-ui时,有时候想要修改组件内的样式,但不成功,例如 <div class="test"> <el-button>按钮</e ...
随机推荐
- [转帖]Kafka常见使用场景与Kafka高性能之道
https://juejin.cn/post/6958997115012186119 消息队列使用场景 队列,在数据结构中是一种先进先出的结构,消息队列可以看成是一个盛放消息的容器,这些消息等待着各种 ...
- [转帖]【Jmeter】Jmeter压力测试工具安装及使用教程(redis测试)
摘自:https://www.cnblogs.com/monjeo/p/9330464.html 一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网 ...
- [转帖]Elasticsearch 技术分析(七): Elasticsearch 的性能优化
https://www.cnblogs.com/jajian/p/10176604.html 硬件选择# Elasticsearch(后文简称 ES)的基础是 Lucene,所有的索引和文档数据是存储 ...
- 混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh Chaos Mesh 是PingCap团队研发的一款用于测试kubernetes环境的工具.通过人为地在集群中注入故障来检测集群对故障的处理以及恢复能力.更详细信息 ...
- vue面试题(一)正在重新整理
1.输入一个 URL到浏览器整个过程发生了什么?ok 1.浏览器查找当前 URL是否存有缓存,并检查这个缓存是否过期 2.DNS 解析 URL 对应的 IP 3.根据 IP 建立 TCP 连接(三次握 ...
- 安装Visual Studio的详细流程
本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法. 首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...
- Dto中使用正则校验规则,保证传入数据的正确性
使用RegularExpression
- 知识图谱项目实战(一):瑞金医院MMC人工智能辅助构建知识图谱--初赛实体识别【1】
1.技术背景&赛题介绍: A Labeled Chinese Dataset for Diabetes中文糖尿病标注数据集详情请见. 数据集链接:瑞金医院MMC人工智能辅助构建知识数据源:知识 ...
- 19.13 Boost Asio 发送TCP流数据
Boost框架中默认就提供了针对TCP流传输的支持,该功能可以用来进行基于文本协议的通信,也可以用来实现自定义的协议.一般tcp::iostream会阻塞当前线程,直到IO操作完成. 首先来看服务端代 ...
- Apache Typecho框架启用地址重写
地址重写有利于SEO优化,开启地址重写可以去掉Typecho框架中的index.php后缀,该后缀如下. 第一步,进到apache配置文件目录下cat /etc/httpd/conf/httpd.co ...