渐进式JavaScript框架Vue 3 入门

目录

  • 前言
  • 1. Vue 3 的基础入门
    • 1.1 什么是 Vue.js
    • 1.2 局部使用 Vue
  • 2. Vue 3 的基本配置
    • 2.1 准备 HTML 页面并引入 Vue 模块
    • 2.2 创建 Vue 应用实例
  • 3. Vue 的数据绑定与界面渲染
    • 3.1 插值表达式
  • 4. 常用指令详解
    • 4.1 v-for 指令:列表渲染
    • 4.2 v-bind 指令:绑定属性值
    • 4.3 v-if 和 v-else-if 指令:条件渲染
    • 4.4 v-show 指令:控制显示与隐藏
    • 4.5 v-model 指令:双向数据绑定
    • 4.6 v-on 指令:事件绑定
  • 5. Vue 的整体结构优化
  • 结语

前言

随着前端开发技术的不断发展,JavaScript 框架成为构建动态和交互性强的用户界面不可或缺的工具。Vue.js 作为一个渐进式框架,以其灵活性、易用性和强大的数据绑定功能,广泛应用于前端开发中。Vue.js 3 引入了更加现代化的特性,性能提升显著,同时仍然保持了简单易学的特质。本文将从 Vue 3 的基础使用入手,详细讲解如何创建 Vue 应用、实现数据绑定、使用常用指令,帮助读者快速上手 Vue 3 并高效构建用户界面。

在这里插入图片描述

1. Vue 3 的基础入门

1.1 什么是 Vue.js

Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架,具有核心的响应式数据绑定和组合 API,专注于视图层的构建。Vue 通过易学的语法和简洁的代码结构,快速为开发者提供高效、灵活的开发体验。它的渐进式特性允许开发者按需引入功能,从简单的 UI 局部改造逐步过渡到复杂的单页面应用。

1.2 局部使用 Vue

Vue 支持在项目中局部使用,使得我们无需重构整个项目结构,即可通过引入 Vue 的相关模块来使用其功能。接下来我们将通过简单的步骤演示如何在 HTML 页面中使用 Vue。

2. Vue 3 的基本配置

2.1 准备 HTML 页面并引入 Vue 模块

在开始使用 Vue 之前,我们需要准备一个 HTML 文件,并通过 <script type="module"> 标签引入 Vue 模块。这一步骤可以帮助我们在项目的局部快速引入 Vue 的功能:

<div id="app"><h1>{{ msg }}</h1>
</div><script type="module">import { createApp } from 'vue'createApp({data() {return {msg: "Hello Vue 3"}}}).mount('#app')
</script>

2.2 创建 Vue 应用实例

createApp 是 Vue 3 提供的用于创建应用实例的 API。通过 createApp 创建的实例,包含 Vue 应用所需的核心功能和数据,最终通过 .mount('#app') 将应用挂载到 HTML 中的指定元素上(如 #app 元素)。在这里,data 函数返回的数据对象 msg 将通过 Vue 的数据绑定功能进行渲染。

3. Vue 的数据绑定与界面渲染

3.1 插值表达式

Vue 提供了插值表达式({{}})来方便地在 HTML 模板中绑定数据。例如在上面的代码中,我们使用 {{ msg }} 表达式,将 JavaScript 对象 data 中的 msg 值渲染到页面上。这种数据绑定使我们可以轻松地在界面上显示动态数据。

4. 常用指令详解

Vue 提供了丰富的指令,帮助开发者实现各种交互和逻辑控制,以下是常用指令的详细介绍。
在这里插入图片描述

4.1 v-for 指令:列表渲染

v-for 指令用于列表渲染,支持遍历数组、对象属性等。通过 v-for="(item, index) in items" 的形式,可以在页面上渲染 items 数组中的每个元素。item 表示遍历的元素,index 表示当前元素的索引,从 0 开始。例如:

<ul><li v-for="(item, index) in items" :key="index">{{ index }} - {{ item }}</li>
</ul>

data 中,我们需要定义 items 数组,以使 v-for 正常工作。

4.2 v-bind 指令:绑定属性值

v-bind 指令用于动态地为 HTML 标签绑定属性值,例如设置 hrefsrcstyle 等。v-bind 可以简写为 :。例如,通过 v-bind:href="url",我们可以动态地设置一个链接的 URL:

<a :href="url">点击访问</a>

其中 urldata 中定义的数据。在代码中使用 v-bind 可以简化动态数据和视图层的交互。

4.3 v-if 和 v-else-if 指令:条件渲染

v-ifv-else-if 是用于条件渲染的指令。v-if 控制节点的创建或移除;当表达式为 true 时,显示节点;为 false 时,移除节点。例如:

<p v-if="isVisible">显示内容</p>
<p v-else>隐藏内容</p>

v-show 不同的是,v-if 在条件为 false 时会移除节点,而 v-show 仅是通过 CSS 控制显示和隐藏。

4.4 v-show 指令:控制显示与隐藏

v-show 使用 CSS 的 display 样式来控制元素的显示和隐藏,非常适用于频繁切换显示和隐藏的场景。使用 v-show 的语法与 v-if 类似,但不会移除节点。例如:

<p v-show="isVisible">内容显示或隐藏</p>

在这里,当 isVisiblefalse 时,元素会被隐藏(display: none),但不会被从 DOM 中移除。

4.5 v-model 指令:双向数据绑定

v-model 是 Vue 提供的双向数据绑定指令,用于表单元素(如输入框、复选框等)。通过 v-model,表单元素的值可以与数据保持同步,简化了数据的获取和设置。例如:

<input v-model="inputValue" />
<p>输入的内容:{{ inputValue }}</p>

在这里,inputValuedata 中的变量。无论是输入框中的值变化,还是代码中对 inputValue 的修改,界面都会实时更新,形成双向绑定的效果。

4.6 v-on 指令:事件绑定

v-on 用于绑定事件,通过 v-on:事件名="函数名" 绑定特定的事件。例如:

<button v-on:click="handleClick">点击我</button>

v-on 可以简写为 @,例如 @click="handleClick"handleClick 方法定义在 methods 中,与 data 平级,使得事件响应逻辑更加清晰。

5. Vue 的整体结构优化

Vue 通过指令和双向绑定简化了开发流程,提升了开发效率。通过 datamethods 的分离结构,开发者可以清晰地组织数据和功能。此外,Vue 3 提供的组合式 API 让代码逻辑更加灵活,适合复杂应用场景。

结语

Vue.js 作为渐进式 JavaScript 框架,以其灵活性、渐进式特性和强大的数据绑定功能受到广大开发者的喜爱。通过本文的学习,相信读者对 Vue 3 的基本使用和指令应用有了全面的认识。希望大家能够借助 Vue 3 的便捷功能,构建出更加优雅和高效的用户界面。

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

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

相关文章

LeetCode105.从前序与中序遍历构造二叉树

题目要求 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 提示: 1 < preorder.length < 3000inorder.length preorder.length-3000 < pr…

css-50 Projects in 50 Days(3)

html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>旋转页面</title><link rel"sty…

基于STM32单片机多路无线射频抢答器

目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 三、实物设计图 四、程序源代码设计 五、资料内容 前言 随着科技的不断进步和各类竞赛活动的日益增多&#xff0c;抢答器作为一种重要的竞…

【Linux】多线程(中)

目录 一、线程互斥 1.1 互斥概念 1.2 互斥量mutex 1.3 互斥量相关API &#xff08;1&#xff09;初始化互斥量 &#xff08;2&#xff09;销毁互斥量 &#xff08;3&#xff09;互斥量加锁和解锁 1.4 互斥量原理 1.5 重入和线程安全 二、死锁 2.1 概念 2.2 造成死锁…

光控资本:什么是庄家洗盘和出货?各有什么特征?

什么是庄家洗盘和出货&#xff1f; 庄家洗盘&#xff1a;庄家洗盘是指庄家使用其筹码优势来作出一些K线图形&#xff0c;进而引起市场上的散户投资者的惊惧&#xff0c;然后洗掉散户手中的起浮筹码&#xff0c;使盘面更加安稳&#xff0c;减轻股票后期拉升压力的行为。 庄家洗…

【Vue3】知识汇总,附详细定义和源码详解,后续出微信小程序项目(5)

快速跳转&#xff1a; 我的个人博客主页&#x1f449;&#xff1a;Reuuse博客 新开专栏&#x1f449;&#xff1a;Vue3专栏 参考文献&#x1f449;&#xff1a;uniapp官网 免费图标&#x1f449;&#xff1a;阿里巴巴矢量图标库 ❀ 感谢支持&#xff01;☀ 前情提要 &#x…

5ire:开源AI工具的新纪元

抖知书老师推荐&#xff1a; 在AI技术飞速发展的今天&#xff0c;5ire作为一款开源的AI工具&#xff0c;已经悄然改变了我们对传统AI工具的认知。那些曾对AI技术抱有疑虑的人们&#xff0c;现在可以更加自信地拥抱这一变革。原本担心工作会被AI取代的忧虑逐渐平息&#xff0c;…

Unity图形学之Shader2.0矩阵变换

1.将物体坐标系 变换 到世界坐标系&#xff1a; Unity3D里面矩阵是左乘的 P(世界) M(物体到世界的变换矩阵) * P(物体) 规律&#xff1a;3D变换 首先将物体坐标系变换到世界 2.将 世界坐标 变换 到相机坐标 P(相机) M(世界到相机的变换矩阵) * P(世界) using System.Col…

网上商城系统设计与Spring Boot框架

3 系统分析 当用户确定开发一款程序时&#xff0c;是需要遵循下面的顺序进行工作&#xff0c;概括为&#xff1a;系统分析–>系统设计–>系统开发–>系统测试&#xff0c;无论这个过程是否有变更或者迭代&#xff0c;都是按照这样的顺序开展工作的。系统分析就是分析系…

JavaWeb-JSP

可以写java代码也前端代码 jsp本来就是Serclet jsp脚本 EL表达式 要将jsp获取的东西放到域中 转发到/el-demo.jsp中 jsp中用&#xffe5;{}获取域中的信息 JSTL标签 c&#xff1a;if标签 jsp中 c:forEach标签 MVC 查询所有 在service层实现 Servlet代码&#xff1a;1.创建Br…

Area-Composition模型部署指南

一、介绍 本模型可以通过输入不同的提示词&#xff0c;然后根据各部分提示词进行融合生成图片。如下图&#xff1a; 此图像包含 4 个不同的区域&#xff1a;夜晚、傍晚、白天、早晨 二、部署 环境要求&#xff1a; 最低显存&#xff1a;10G 1. 部署ComfyUI 本篇的模型部署…

经典文献阅读之--DROID-SLAM(完美的深度学习slam框架)

0. 简介 深度学习和SLAM现在结合越来越紧密了&#xff0c;但是实际上很多时候深度学习只会作为一个block放在slam系统中。而很多深度学习slam算法&#xff0c;在slam这边的性能都不是太好&#xff0c;尤其是回环和全局优化这块。因为有一些深度学习的工作就不太适合做回环检测…

【windows 下使用 tree】

windows git bash 下使用 tree 下载tree二进制文件 https://gnuwin32.sourceforge.net/packages/tree.htm 解压缩找到 tree.exe 扔进git bash的命令目录 C:\Program Files\Git\usr\bin 打开测试

GxtWaitCursor:Qt下基于RAII的鼠标等待光标类

有时我们需要以阻塞的方式执行一点耗时的操作&#xff0c;这时需要主窗口光标呈现忙状态&#xff0c;GxtWaitCursor正是为此设计&#xff1b;重载的构造函数&#xff0c;可以让光标呈现忙状态一定时间后自动恢复。 GxtWaitCursor.h #pragma once#include <QObject>// // …

通过Python,Tkinter,文本文件,Openpyxl。实现【图书馆管理系统实现技术】

图书馆管理系统 目录 项目概述类定义 -Book类 -Library类书籍管理功能 -添加书籍 -查找书籍 -借阅书籍 -归还书籍 -列出所有书籍数据持久化 -保存书籍 -加载书籍操作日志记录图形用户界面(GUI) -界面设计 -功能实现代码原理总结实现界面 ![](https://i-blog.csdnimg.cn/dire…

飞牛私有云访问外网

飞牛私有云 fnOS NAS 是一款有着卓越的性能以及强大的兼容性和智能化的管理界面&#xff0c;它之所以能在 NAS 市场中脱颖而出&#xff0c;是因为 fnOS 基于最新的 Linux 内核&#xff08;Debian发行版&#xff09;深度开发&#xff0c;不仅兼容主流 x86 硬件&#xff0c;还支持…

HTML之表单学习记录

如果一个页面仅仅供用户浏览&#xff0c;那就是静态页面。如果这个页面还能实现与服务器进行数据交互&#xff08;像注册登录、话费充值、评论交流&#xff09;​&#xff0c;那就是动态页面。表单是我们接触动态页面的第一步。其中表单最重要的作用就是&#xff1a;在浏览器端…

redis 原理篇 30 redis内存回收 过期key处理

三十分&#xff0c;又是一个长视频&#xff0c;挺好&#xff0c;但是从标题来看&#xff0c;内容应该很简单&#xff0c;或者说&#xff0c;是他能讲简单的类型&#xff0c;本来还想再搞一篇&#xff0c;但是三十分钟的话&#xff0c;五点五十了&#xff0c;算了&#xff0c;下…

【STM32F1】——无线收发模块RF200与串口通信

【STM32F1】——无线收发模块RF200与串口通信 一、简介 本篇主要对调试无线收发模块RF200的过程进行总结,实现了以下功能。 串口普通收发:使用STM32F103C8T6的USART2串口接收中断,实现两个无线收发模块RF200间的通信。二、RF200介绍 电压:3.4-5.5V工作频率:418~455MHz发…

【MySQL从入门到放弃】InnoDB磁盘结构(二)

前言 前面我们解析了InnoDB磁盘结构中的表空间、数据字典、双写缓冲区。 本文我们继续探究磁盘结构中剩余的几个核心组件:重做日志(redo log)、撤销日志(undo log)、二进制日志(binlog) 一、重做日志 ( redo log ) WAL(Write-Ahead Logging)机制 WAL 的全称是…