vue封装组件

2023-11-16

在 Vue 中,封装组件可以使代码更加模块化和灵活,提高代码的复用性和可维护性。下面是一个简单的封装组件的示例:

1.创建组件

<template>
  <div class="my-button" :class="{ 'is-disabled': disabled }" @click="handleClick">
    {{ text }}
  </div>
</template>

<script>
export default {
  name: 'MyButton',
  props: {
    text: {
      type: String,
      required: true
    },
    disabled: {
      type: Boolean,
      default: false
    }
  },
  methods: {
    handleClick() {
      if (!this.disabled) {
        this.$emit('click');
      }
    }
  }
};
</script>

<style>
.my-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #42b983;
  color: #fff;
  cursor: pointer;
  border-radius: 4px;
}

.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
</style>

2.在其他组件中引用

<template>
  <div>
    <my-button text="Click Me" @click="handleClick" />
  </div>
</template>

<script>
import MyButton from './MyButton.vue';

export default {
  components: {
    MyButton
  },
  methods: {
    handleClick() {
      console.log('button clicked');
    }
  }
};
</script>

使用 import 引入组件,并在 components 中注册,在模板中使用即可。

需要注意的是,组件名应该使用 PascalCase 风格(即首字母大写),以便 Vue 能够正确地解析组件名称。另外,可以在组件中定义 props、methods、data 等属性和方法,也可以使用 slot 来进行插槽相关的操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue封装组件 的相关文章

随机推荐

  • PB(PowerBuilder)如何同消息队列(RabbitMQ)通讯

    参考文档 1 RabbitMQ入门 用途说明和深入理解 RabbitMQ入门 用途说明和深入理解 走错路的程序员的博客 CSDN博客 2 RabbitMQ进阶 管理 配置 RabbitMQ进阶 管理 配置 东孤熊猫的博客 CSDN博客 ap
  • Allegro16.6详细教程(四)

    2 PIN的定義 如果用第一種方式產生Netlist的話 就要對於一些Power pin加以定義 1 滑鼠點選想定義的零件 2 點選選單中Edit gt Part 3 用滑鼠點選想定義的Pin腳 4 點選功能表中Edit gt Proper
  • RCE 远程命令代码执行漏洞

    什么是REC Remote Command Code Execute 远程命令或者代码执行 通过构造特殊的字符串 将数据提交到WEB应用程序 并利用该方式外部程序或命令进行攻击 类似SQL注入 Web应用程序使用了一些可以执行系统命令 或者
  • DNS污染与DNS劫持

    先认识一下什么是DNS DNS 是域名系统 Domain Name System 的缩写 在Internet上域名与IP地址之间是一对一 或者多对一 的 域名虽然便于人们记忆 但机器之间只能互相认识IP地址 它们之间的转换工作称为域名解析
  • Linux 中的 chkconfig 命令及示例

    先决条件 Linux 中的运行级别 chkconfig命令用于列出所有可用的服务并查看或更新其运行级别设置 简而言之 它用于列出服务或任何特定服务的当前启动信息 更新服务的运行级别设置以及在管理中添加或删除服务 概要 chkconfig l
  • 小程序限制PC端打开 只可以在手机端打开的解决方案

    电脑版微信是支持运行小程序的 但是某一些小程序是限制在PC上打开的 那么是怎么判断打开的设备是否是Pc端呢 官方文档给出的方案是 wx getSystemInfo success res console log res model cons
  • 【Fiddler】利用FiddlerScript实现自制函数功能及一些基本实用函数。

    目录 前言 一 FiddlerScript是什么 二 代码部分 1 自定义功能函数名 2 实现Session的遍历 3 实现重发请求并选中新请求 4 常用FS函数 5 Fiddler中的延时器 总结 前言 关于FS Fiddler是我们熟悉
  • 怎样打造一个分布式数据库——rocksDB, raft, mvcc,本质上是为了解决跨数据中心的复制

    怎样打造一个分布式数据库 rocksDB raft mvcc 本质上是为了解决跨数据中心的复制 摘自 http www infoq com cn articles how to build a distributed database ut
  • Windows下jsp运行环境的配置方案

    Windows下jsp运行环境的配置方案 lt 一 gt 配置前的准备工作 软件名称 j2sdk 安装包名称 j2sdk 1 4 2 windows i586 exe 下载地址 http java sun com 软件名称 Jakarta
  • MySQL -调整列的约束

    调整列的完整性约束 主键PK 外键FK和 唯一键UK 1 新增 1 新建class表 列不设置约束 mysql gt create table class id int name varchar 64 teacher varchar 64
  • CUDA编程问题记录:能否用CPU多线程调用CUDA核函数

    问题 能否在主机端创建CPU多线程 在每个线程里调用设备端核函数的caller函数 进而实现进一步的并行运行 例如有5张图片 对于每张图片都有N个GPU线程对其进行像素操作 但是此时是逐一对这5张图片处理的 想在主机端创建5个CPU线程 每
  • STC单片机 普通 I/O 口中断功能介绍和使用

    STC单片机 普通 I O 口中断功能和使用 STC单片机普通 I O 口中断 不是传统外部中断 STC目前支持普通 I O 口中断的单片机 STC8部分以及STC32G STC8H 部分系列支持所有的 I O 中断 且支持 4 种中断模式
  • Apollo项目坐标系研究

    声明 本文系作者davidhopper原创 未经允许 不得转载 百度Apollo项目用到了多种坐标系 其中帮助文档提及的坐标系包括 全球地理坐标系 The Global Geographic coordinate system 局部坐标系
  • 雪花算法-项目中唯一ID的生成

    之前项目中使用雪花算法 生成全局唯一ID 记录一下 来源 https www cnblogs com relucent p 4955340 html 作者 永夜微光 package com wd cc common util Twitter
  • Texture::getSourceFileType()

    Texture getSourceFileType
  • 滑动窗口最大值——单调队列的实践

    一 单调队列的介绍 单调队列 即单调递减或单调递增的队列 而且 队首和队尾都可以进行出队操作 但只有队尾可以进行入队操作 它类似于下面这幅图 二 239 滑动窗口最大值 给你一个整数数组 nums 有一个大小为 k 的滑动窗口从数组的最左侧
  • vscode批量注释快捷键

    光标选中想要注释的所有代码 ctrl 取消同理
  • 如何在多线程异步的情况下保证事务?

    在Spring环境下 如果使用了 Transactional 注解 那么当你的 inert 操作时异步的话 则会不在当前事务里面 那么后续的回滚操作 不会将这次异步操作的插入进行回滚 那么我们有方式来保证多线程异步场景下的事务吗 Servi
  • React中的组件的渲染函数(Render Function)是什么?什么是React中的函数组件和类组件?如何在React中进行状态管理?

    1 请解释一下React中的组件的渲染函数 Render Function 是什么 以及如何使用和实现渲染函数 React中的组件可以有多种形式的渲染函数 包括传统的render 方法 以及近年来兴起的函数组件和Hooks中的useStat
  • vue封装组件

    在 Vue 中 封装组件可以使代码更加模块化和灵活 提高代码的复用性和可维护性 下面是一个简单的封装组件的示例 1 创建组件