Chapter 01 Vue入门

欢迎大家订阅【Vue2+Vue3】入门到实践 专栏,开启你的 Vue 学习之旅!

文章目录

  • 前言
  • 一、Vue简介
  • 二、el:挂载点
  • 三、data:数据对象
  • 四、第一个Vue程序
  • 五、安装 Vue 开发者工具


前言

Vue 是一个框架,也是一个生态,其功能覆盖了大部分前端开发常见的需求。本文详细讲解了 Vue 的基本概念以及 Vue 开发者工具的安装。

一、Vue简介

①定义
Vue 是一款用于构建用户界面的渐进式框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。
在这里插入图片描述

② 核心特性

  • 响应式数据绑定:Vue 的数据对象会与视图自动绑定,当数据发生变化时,视图将自动更新。
    在这里插入图片描述

  • 组件化:将应用程序拆分成独立的、可复用的组件,有助于提高代码的复用性和可维护性。

  • 虚拟 DOM:通过虚拟 DOM 的实现,Vue 提供了高效的 DOM 更新和渲染性能。

二、el:挂载点

el 是 Vue 实例的一个重要选项,用于指定 Vue 实例挂载的位置。挂载点可以是 HTML 元素的选择器(ID、类名等),Vue 将控制该元素及其子元素的内容。

【示例】

<div id="app"><h1>{{ message }}</h1>
</div><script>var app = new Vue({el:"#app",data:{message:" 你好 Vue! "}})
</script>

这段代码中,我们将 el 设置为 '#app',则 Vue 实例将控制 ID 为 app 的元素。在该元素内,Vue 使用数据对象中的数据渲染视图。在 Vue 实例中,只有挂载点内的元素会受到 Vue 的影响,其他部分的 DOM 将不会被 Vue 管理。

三、data:数据对象

data 是 Vue 实例的一个选项,用于定义实例的响应式数据。data 对象中的属性可以在模板中使用 {{ }} 语法进行数据绑定,也可以在 JavaScript 代码中进行访问和修改。任何对 data 中数据的修改都会自动更新 DOM。

【示例】

<div id="app"><h1>{{ message }}</h1>
</div><script>var app = new Vue({el:"#app",data:{message:" 你好 Vue! "}})
</script>

在这个例子中,页面中的<h1>标签会显示数据对象中 message 属性的值。当我们更改 data 中的 message 值时,视图会自动反映这一变化,体现了 Vue 的响应式特性。

四、第一个Vue程序

①导入开发版本的Vue.js
在使用 Vue.js 之前,我们需要通过 CDN 或本地文件导入 Vue 的 JavaScript 库。开发版本通常包含友好的错误提示和调试工具。

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

②创建Vue实例对象

<script>var app = new Vue({el:"#app",data:{message:" 你好 Vue! "}})</script>

在这里,我们创建了一个新的 Vue 实例,并将其挂载到 ID 为 app 的 DOM 元素上。同时,我们定义了一个数据对象,其中有一个 message 属性,初始值为“你好 Vue!”。

③渲染数据
在 Vue.js 中,插入语法 {{ }} 被称为“插值表达式”。它用于将数据绑定到 HTML 模板中的内容,从而动态地更新视图。

<div id="app"><h1>{{ message }}</h1>
</div>

使用双大括号 {{ message }},我们能够在页面中显示 data 对象中的 message 值。当 message 的值发生变化时,视图会自动更新。

【示例】

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Vue基础</title>
</head><body><div id="app"><h1>{{ message }}</h1></div><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:" 你好 Vue! "}})</script>
</body></html>

运行结果:
在这里插入图片描述

【注意事项】

注意点①:实例与容器是一一对应的关系

<body><div class="app"><h1>{{ message }}</h1></div><div class="app"><h1>{{ message }}</h1></div><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:".app",data:{message:" 你好 Vue! "}})</script>
</body>

运行结果:
在这里插入图片描述

【分析】
在这个示例中,有两个 div 元素具有相同的类名 class="app"。Vue 会找到页面上的所有 .app 元素,但只会与第一个匹配的元素进行绑定。因此只有第一个 div 元素会被 Vue 初始化,并且这个实例会将 data 中的 message 绑定到这个 h1 标签中。第二个 div 元素将不会被这个 Vue 实例控制,其中的 {{ message }} 不会被替换,仍然会在页面上显示为原始的字符串。

注意点②:不能挂载在 <html><body>

<body id="body">{{ message }}<h2 id="app">{{ message }}<span> {{ message }} </span></h2><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#body",data:{message:" 你好 Vue! "}})</script>
</body></html>

运行结果:
在这里插入图片描述

【分析】
<html> 标签是整个 HTML 文档的根元素,<body>标签是页面内容的主要部分,将 Vue 或其他框架的实例挂载到<html><body>
上,会干扰页面的整体渲染循环和生命周期管理。

五、安装 Vue 开发者工具

1. 下载
下载网址:https://chrome.zzzmh.cn/index
在这里插入图片描述
在这里插入图片描述
2. 安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3. 调试
运行一个简单的Vue程序

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Vue基础</title>
</head><body><div id="app"><h1>{{ message }}</h1></div><!-- 开发环境版本,包含了有帮助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:" 你好 Vue! "}})</script>
</body></html>

鼠标右键点“检查”
在这里插入图片描述
打开 Vue 开发者工具,即可查看修改数据,进行调试。
在这里插入图片描述
在这里插入图片描述
修改数据并保存
在这里插入图片描述
视图自动更新
在这里插入图片描述

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

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

相关文章

如何正确使用static、class、abstract方法二

如何正确使用static、class、abstract方法 ####How methods work in Python A method is a function that is stored as a class attribute. You can declare and access such a function this way: ####方法在Python中是如何工作的 方法就是一个函数&#xff0c;它作为一个类…

关于linux上root连接mysql时遇到的一点小问题以及rsync通过ssh的文件同步传输以及免密码传输的实现

一、关于linux上root连接mysql时遇到的一点小问题 今天因为工作需要&#xff0c;需要使用root连接一下很久没有连接过的mysql服务器了&#xff0c;一看找不到root密码了&#xff0c;记得当时我在搭建整个mysql主从的时候&#xff0c;我明明把root密码记录在了txt文件上的&#…

Modbus-TCP——Libmodbus安装和使用(Ubuntu22.04)

1、简介 Modbus是一种通信协议&#xff0c;广泛用于工业自动化和过程控制领域&#xff0c;允许不同设备之间进行数据交换。libmodbus是一个用于 Modbus 协议的开源库&#xff0c;主要用于开发和实现 Modbus 协议的客户端和服务器应用程序。libmodbus 以 C 语言编写&#xff0c…

003 交换机工作原理及VLAN技术

引言 交换机是企业网络的核心设备&#xff0c;而VLAN技术则帮助网络管理员高效管理和隔离流量。本篇博文将深入剖析交换机的工作原理和VLAN的实际配置技巧。 1. 交换机的基本工作原理 交换机通过MAC地址表将数据帧转发到目标端口。当一个数据帧到达交换机时&#xff0c;交换…

【云原生】MySQL的源码编译

1、实验环境 &#xff08;1&#xff09;虚拟机版本&#xff1a;RHEL7.9 &#xff08;2&#xff09;主机 主机名称IP地址mysql-node1172.25.254.10mysql-node2172.25.254.20 2、实验步骤 注意&#xff1a;我们的两台主机都要进行MySQL源码编译&#xff0c;并且操作相同&…

探索 InternLM 模型能力边界

一、任务介绍 在 CompassArena 中选择双模型对话&#xff0c;与InternLM2.5及另外任意其他模型对话&#xff0c;收集 5 个 InternLM2.5 输出结果不如其他模型的对话案例&#xff0c;以及 InternLM2.5 的 5 个 Good Case。 任务地址&#xff1a;Docs Bad Case 1&#xff1a; 模…

Transforms的学习以及地址问题

一、地址问题 在学习Dataset类的实战与Tensboard的学习中&#xff0c;有出现一些地址的问题&#xff1a; 1、相对地址 相对地址的使用&#xff1a; 使用于在从端口中&#xff0c;打开TensorBoard的页面。使用的就是相对地址&#xff1b;例如&#xff1a; tensorboard --log…

新书推荐:《分布式商业生态战略:数字商业新逻辑与企业数字化转型新策略》

近两年&#xff0c;商业经济环境的不确定性越来越明显&#xff0c;市场经济受到疫情、技术、政策等多方因素影响越来越难以预测&#xff0c;黑天鹅事件时有发生。在国内外经济方面&#xff0c;国际的地缘政治对商业经济产生着重大的影响&#xff0c;例如供应链中断&#xff0c;…

rabbitMQ安装与简单demo

安装 mac安装有了brew很方便&#xff0c;windows的可参考 win10 安装rabbitMQ详细步骤 brew install rabbitmq启动 brew services start rabbitmq关闭 brew services stop rabbitmq出了问题之后可以重启一下 brew services restart rabbitmqsome issue 某些库下载超时 比…

使用vagrant、virtualbox、快速创建kali linux

使用vagrant、virtualbox、快速创建kali linux 初始化kali下载vagrant相应镜像vagrant添加相应镜像创建vagrantfile在vagrantfile根目录执行cmd虚拟机登录密码修改sshd配置 用shell远程链接(可选)可视化界面设置成中文创建成功展示图 添加实体网卡使用kali 破解WiFi密码解决 on…

Godot《躲避小兵》实战之为游戏添加音效

现在&#xff0c;我们已经完成了游戏的所有功能。以下是一些剩余的步骤&#xff0c;为游戏加点“料”&#xff0c;改善游戏体验。 随意用你自己的想法扩展游戏玩法。 背景 默认的灰色背景不是很吸引人&#xff0c;那么我们就来改一下颜色。一种方法是使用 ColorRect节点。将…

Ubuntu技巧-Ubuntu远程访问之电信公网IP

&#x1f4a1; 大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、互联网和自媒体。 前面文章介绍了家庭服务器接入外网的三种方式的第一种&#xff0c;今天介绍第二种&#xff0c;即通过获得电脑公网IP&#xff0c;然后再设置动态…

QT Quick QML 网络助手——TCP客户端

GitHub 源码: QmlLearningPro &#xff0c;选择子工程 Nettools.pro QML 其它文章请点击这里: QT QUICK QML 学习笔记 ● 运行效果&#xff1a; 左侧为常用的网络调试工具&#xff0c;右侧为本项目 UI 效果&#xff0c;前端使用 QML &#xff0c;后端使用C &#xff…

linux(Ubuntu )搭C++ 最新版GDAL完整教程

在前面的文章中主要是介绍如何在windows系统下利用python安装gdal库&#xff0c;如下&#xff1a; 如何快速安装GDAL 在linux环境下python安装gdal也可以利用现成的whl文件&#xff0c;但是安装c GDAL环境的比较麻烦&#xff0c;目前网络上大多是安装的老版本的教程&#xff…

自适应学习率(Datawhale X 李宏毅苹果书 AI夏令营)

传统的梯度下降方法在优化过程中常常面临学习率设置不当的问题。固定的学习率在训练初期可能过大&#xff0c;导致模型训练不稳定&#xff0c;而在后期可能过小&#xff0c;导致训练速度缓慢。为了克服这些问题&#xff0c;自适应学习率方法应运而生。这些方法通过动态调整学习…

Spring常用的注解有哪些?作用是什么?怎么用?

一、怎么用&#xff1f; 首先需要在bean.xml文件中配置注解组件扫描&#xff0c;只有配置了组件扫描&#xff0c;spring才会去指定包下面扫描你使用了哪些注解&#xff0c;并让其生效。例如&#xff1a; <!--spring会去扫描com.frank包及其子包下所有的注解&#xff0c;并让…

引号的艺术:用CSS quotes 属性打造个性化引用

引号的艺术&#xff1a;用CSS quotes 属性打造个性化引用 摘要 CSS 的 quotes 属性是一个强大的工具&#xff0c;它允许开发者自定义网页上的引用标记&#xff0c;从而增强网页的视觉效果和用户体验。本文将深入探讨 quotes 属性的使用方法&#xff0c;包括如何设置不同的引号…

ssrf漏洞之——漏洞复现

漏洞介绍 SSRF漏洞&#xff1a;SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由恶意访问者构造url&#xff0c;由服务端对此url发起请求的一个安全漏洞。 漏洞原理 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&#xff0c;并且没有对目…

Python :使用 YOLOv8、ultralytics 的 YOLO 模型识别图片里面有多少辆车

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 Python :使用 YOLOv8、ultralytic…

S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)

文章目录 1. 什么是Sharp71.1 什么是Sharp71.2 下载文件中包含的内容1.3 使用示例2. 如何使用Sharp7进行上位机开发2.1 S7-1200的配置2.2 创建示例项目2.3 连接到plc2.3 从DB读取2.4 写入DB2.5 示例代码3. 扩展3.1 C++上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的…