首页 > 其他分享 >二次封装ui组件,如何做到属性,作用域插槽以及 实例方法的穿透使用

二次封装ui组件,如何做到属性,作用域插槽以及 实例方法的穿透使用

时间:2023-04-06 15:35:42浏览次数:37  
标签:封装 作用域 插槽 value ui entries 组件

A页面: 在使用二次封装的组件

<MyInput  ref='inputRef' v-model='data' placeholder='xxxx'>

  <template #prepend>
      ......
  </template>

  <template #append>
      ......
  </template>
 
 
</MyInput>

onMounted(() => {
  inputRef.value.focus()  //外部便可以调用内部组件的方法
})
MyInput.vue 二次封装
<template>
  <div class='自定义二次封装的内容'>
// $attrs 绑定到组件的所有属性 <el-input ref='inp' v-bind='$attrs'>
//动态获取插槽和 作用域 <template v-for='(value, name) in $slots' #[name] = 'slotData'> <slot :name=name v-bind='slotData || {}'></slot> </template> </el-input> </div> </template> created(){ const entries = object.entries(this.$refs.inp)
//将 组件的下的方法 同步到该组件的实例上 for( const [key, value] of entries ){ this[key] = value } }

 

标签:封装,作用域,插槽,value,ui,entries,组件
From: https://www.cnblogs.com/xuhuang/p/17292887.html

相关文章

  • build.xml配置文件——调整格式2
    <?xmlversion="1.0"encoding="UTF-8"?><projectname="ant-jmeter-test"default="run"basedir=".">   <tstamp>       <formatproperty="time"pattern="yyyyMMddhhmm"/......
  • IMUI 加载字体
    加载中文字体用户调用的第一个AddFontxxapi,会加载字体到默认字体mergeMode模式,需要提前加载一个字体不用merge模式,加载一系列字体中文帮助......
  • pom.xml中build标签
    1.分类    (1)全局配置(projectbuild)         针对整个项目的所有情况都有效    (2)配置(profilebuild)         针对不同的profile配置1.<projectxmlns="http://maven.apache.org/POM/4.0.0"2.xmlns:xsi="http://www.w3.org/200......
  • A tutorial that will show you how to build an instant messaging app with Sinch.
     http://stackoverflow.com/questions/26247986/unsatisfiedlinkerror-couldnt-load-sinch-android-rtc-from-loader-dalvik-systemhttps://www.sinch.com/tutorials/android-messaging-tutorial-using-sinch-and-parse/https://github.com/sinch/android-messaging-tutorial......
  • 作用域
    什么是作用域?当前执行的上下文,值和表达式在其中是可见或可以被访问的作用域是一个独立的地盘,让变量不会外泄、暴露出去,最大的用途就是隔离变量,在不同作用于下同名变量不会有冲突ES5:全局作用域,函数作用域ES6:块级作用域let和const声明的变量全局作用域:在代码中任何地方都可以......
  • 界面控件DevExtreme v23.1抢先体验,增强的UI/UX自定义功能!
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。本文的目的就是为了让开发者预览即将发布的DevExtreme功......
  • 聊聊spring中bean的作用域
    前言今天分享一下springbean的作用域,理解bean的作用域能够在使用过程中避免一些问题,bean的作用域也是springbean创建过程中一个重要的点。Springbean的作用域类型singleton(单例模式):在整个应用程序的生命周期中,只创建一个Bean实例。默认情况下,所有的Bean都是单例模式。p......
  • python基础七(函数名称空间及作用域、函数对象、函数嵌套、闭包函数、装饰器)
    一名称空间(namespaces):存放名字的地方,是对栈区的划分。 有了名称空间之后,就可以在栈区中存放相同的名字,详细的名称空间。分三种1.1内建名称空间存放的名字:存放的python解释器内置的名字print<built-infunctionprint>存活周期:python解释器启动则产生,python解释器关闭则销毁......
  • Java笔记(10) GUI->布局
    这里介绍3种布局:FlowLayout流式布局BorderLayout边界布局GridLayout网格布局FlowLayout/*MyFrame定义见Java笔记9,这里添加了事件监听方法*/publicclassTestFlowLayout{publicstaticvoidmain(String[]args){MyFramemyFrame=newMyFram......
  • cpp generate random array then sort by quick sort
    #include<chrono>#include<ctime>#include<iomainp>#include<iostream>#include<random>#include<sstream>std::stringget_time_now(){std::chrono::time_point<std::chrono::high_resolution_clock>now=st......