Vue入门级教程二:组件化开发

news2024/12/26 22:43:10

在Vue 入门级教程一中,我们已经对 Vue.js 的基础概念、数据绑定和指令有了初步的了解。本教程将在此基础上,进一步深入探讨 Vue 的组件化开发、事件处理以及计算属性等重要特性,帮助你更全面地掌握 Vue 框架,构建出功能更为丰富的前端应用。

一、组件化开发

Vue.js 的核心优势之一就是其强大的组件化开发能力。组件可以看作是可复用的 Vue 实例,拥有自己的模板、数据和逻辑。通过将页面拆分成多个组件,我们能够提高代码的维护性、可复用性和可测试性。

  1. 全局组件

创建全局组件非常简单。例如,我们创建一个名为 HelloWorld 的全局组件:

Vue Component Example
在上述代码中,我们使用 Vue.component 方法定义了一个名为 hello-world 的全局组件,其模板仅仅是显示一个简单的问候语。然后在根 Vue 实例的模板中,我们像使用普通 HTML 元素一样使用了这个组件。
  1. 局部组件

除了全局组件,我们还可以创建局部组件。局部组件通常在一个特定的 Vue 实例或其他组件内部定义和使用。例如:

Vue Component Example
这里,我们在 app 这个 Vue 实例的 components 选项中定义了 my-component 局部组件,它只能在 app 实例所控制的模板范围内使用。
  1. 组件的传值

组件之间的数据传递是非常常见的需求。父子组件之间可以通过 props 和 $emit 进行数据传递。

首先,在父组件中向子组件传递数据:

Vue Component Props Example
在上述代码中,父组件 app 通过 :message(等同于 v-bind:message)将 parentMessage 数据传递给子组件 child-component,子组件通过 props 选项接收数据并在模板中显示。

而子组件向父组件传递数据则是通过 $emit 事件触发:

Vue Component Emit Example
这里子组件中的按钮点击时,通过 $emit 触发 child-event 事件,并传递数据 'Message from child',父组件通过 @child-event(等同于 v-on:child-event)监听该事件,并在 handleChildEvent 方法中处理接收到的数据。

二、事件处理

Vue.js 提供了方便的事件绑定机制,让我们可以轻松地处理用户交互事件,如点击、输入等。

  1. 基本事件绑定

使用 v-on 指令(简写为 @)可以绑定事件监听器。例如,绑定一个点击事件:

Vue Event Binding Example
当按钮被点击时,handleClick 方法会被调用,并且在控制台输出相应信息。
  1. 事件修饰符

Vue 还提供了一些事件修饰符,用于更精细地控制事件的行为。例如,.prevent 修饰符可以阻止事件的默认行为(如表单提交的默认刷新页面行为),.stop 修饰符可以阻止事件冒泡。

Vue Event Modifiers Example
在这个表单提交的例子中,由于使用了 .prevent 修饰符,点击提交按钮时,表单不会进行默认的页面刷新行为,而是执行我们自定义的 handleSubmit 方法。

三、计算属性

计算属性是 Vue.js 中一个非常有用的特性,它允许我们基于响应式数据创建动态的、可缓存的计算值。

例如,我们有一个包含商品价格和数量的购物车数据,想要计算总价:

Vue Computed Properties Example

Price: ${{ price }}

Quantity: {{ quantity }}

Total: ${{ total }}

在上述代码中,我们定义了一个计算属性 total,它会根据 price 和 quantity 的变化自动重新计算。计算属性会缓存计算结果,只有当它所依赖的数据发生变化时才会重新计算,这有助于提高性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2251717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ECharts柱状图-交错正负轴标签,附视频讲解与代码下载

引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个柱状图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供…

预处理详解(完结篇)

⽬录 一. 什么是预处理 c 1 预定义符号 2. #define定义常量 3 . #define定义宏 4. 带有副作⽤的宏参数 5. 宏替换的规则 6 宏函数的对⽐ 三 #和## 四 命名约定 五. #undef 一 什么是预处理 有许多文件中都内容我们是看不懂的,那怎么才能令…

【k8s】监控metrics-server

metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…

ERP 入库生产第一个版本完成

剩下的逻辑都是基于入库表达操作,资源划分,在销售,出库 windows 下直接部署 mysql 数据库,更轻量一些

ESP32-S3模组上跑通ES8388(12)

接前一篇文章:ESP32-S3模组上跑通ES8388(11) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第5段代码,本回继续往下解析。为了便于理解和回顾,再次贴出es8388_init函数源码,在…

对于相对速度的重新理解 - 15

换一个视角看待能量可能一切都更为清晰,从, 可以意识到,最终质量 指的是 的数量。这个数量就是 我们可以去除电性振动和磁性振动的影响,把这两种振动的影响归结在 里面,这就像是,有一百万个某种物体&#x…

记一次腾讯云海外服务器http能正常访问https访问拒绝问题处理过程

最近双十一, 购了一台腾讯云的海外服务器, 开通后就是一堆的服务器软件安装数据上传和配置,没想到,等待配置完成后才发现https无法正常访问,于是开启了自查。 1. 检查nginx软件的ssl配置 nginx http https配置参考 server {l…

Java 单元测试模拟框架-Mockito 的介绍

Mockito 是什么 Mockito 是一个用于单元测试的模拟框架,基于它可以使用简洁易用的API编写出色的测试。 Mockito 允许开发人员创建和管理模拟对象(mock objects),以便在测试过程中替换那些不容易构造或获取的对象。 Mockito的基本…

分享一款 Vue 图片编辑插件 (推荐)

💥本篇文章给大家分享一款强大到没朋友的Vue图片编辑插件,可以对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等,快来试试并收藏吧!💕 这是一款对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本在线处理的图片处…

在基于控制器的 API 和最小 API 之间进行选择

文章目录 ASP.NET Core 支持两种创建 API 的方法:基于控制器的方法和最小 API。 API 项目中的控制器是派生自 ControllerBase 的类。 最小 API 在 Lambda 或方法中使用逻辑处理程序定义终结点。 本文解释了这两种方法之间的差异。 最小 API 的设计默认隐藏了主机类…

【UVM】phase机制

Phase的种类 funcion phase 不消耗仿真时间 八种(图中白色背景) task phase 消耗仿真时间 一种(图中灰色背景),run_phase又可以细分为十二种 Phase的功能 bulid_phase:uvm_component类的实例化&…

《装甲车内气体检测“神器”:上海松柏 K-5S 电化学传感器模组详解》

《装甲车内气体检测“神器”:上海松柏 K-5S 电化学传感器模组详解》 一、引言二、K-5S 电化学传感器模组概述(一)产品简介(二)产品特点(三)产品适用场景 三、电化学传感器原理及优点(一&#xf…

【Linux课程学习】:文件第二弹---理解一切皆文件,缓存区

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 Linux学习笔记: https://blog.csdn.net/d…

汽车控制软件下载移动管家手机控车一键启动app

移动管家手机控制汽车系统是一款实现车辆远程智能控制的应用程序‌。通过下载并安装特定的APP,用户可以轻松实现以下功能:‌远程启动与熄火‌:无论身处何地,只要有网络,即可远程启动或熄火车辆,提前预冷或预…

匿名发帖/匿名论坛功能设计与实现(编辑发帖部分)

前言 还是之前的音乐系统,首页一直是没想好写些什么,想写一个基于数据分析筛选的歌曲推荐功能,但是目前技术选型没太有考究等以后再实现吧,昨天突然想到可以把首页设计成前40%页面是歌曲推荐后面接下来就是一段匿名论坛功能&…

微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢? 目录 一、定义点击城市的事件 二、首页的处理 首页:点击成都市会跳转到城市列表 城市列表:点击…

DOM,事件监听和VUE入门

四个事件、 JS模块化 VUE入门 Ajax VUE总结

Python学习笔记(5)Python的创建型设计模式

创建型设计模式(Creational Design Patterns),主要关注对象的创建机制。这类模式可以使得系统更加独立于如何创建、组合和表示其对象。通过将这些职责分离出来,创建型设计模式有助于提高代码的灵活性和复用性。 本书的范例代码已经…

云备份实战项目

文章目录 前言一、整体项目简介二、服务端环境及功能简介三、 客户端环境及功能简介四、服务端文件管理类的实现1. 获取文件大小,最后一次修改时间,最后一次访问时间,文件名称,以及文件内容的读写等功能2. 判断文件是否存在&#…

Java有关数组的相关问题

Java中的栈和堆的含义 栈 存储局部变量:栈主要用于存储方法中的局部变量,包括基本数据类型(int、double、boolean等)和对象的引用(不包含对象本身)。 遵循后进先出原则:当一个方法被调用时&…