Chapter 01 Vue入门

news2024/12/25 9:31:44

前言

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.coloradmin.cn/o/2061957.html

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

相关文章

基于RDMA技术的Mayastor解决方案

1. 方案背景和挑战 1.1. Mayastor简介 OpenEBS是一个广受欢迎的开源云原生存储解决方案&#xff0c;托管于CNCF&#xff08;云原生计算基金会&#xff09;之下&#xff0c;旨在通过扩展Kubernetes的能力&#xff0c;为有状态应用提供灵活的持久性存储。Mayastor是OpenEBS项目…

maxscale

入门 官网&#xff1a;https://mariadb.com/kb/en/maxscale/ 开发语言&#xff1a;C 是否支持分片&#xff1a;不支持 支持的数据库&#xff1a;MySQL/Mariadb 路由规则&#xff1a;事务包裹的SQL会全部走写库、没有事务包裹SQL读写库通过设置Hint实现。其它功能通过配置文件实…

微服务通信

1、Feign远程调用 Feign是Spring Cloud提供的⼀个声明式的伪Http客户端&#xff0c; 它使得调⽤远程服务就像调⽤本地服务⼀样简单&#xff0c; 只需要创建⼀个接⼝并添加⼀个注解即可。 Nacos很好的兼容了Feign&#xff0c; Feign 默认集为Ribbon&#xff0c; 所以在Nacos下使…

M8020A J-BERT 高性能比特误码率测试仪

M8020A 比特误码率测试仪 J-BERT M8020A 高性能 BERT 产品综述 Keysight J-BERT M8020A 高性能比特误码率测试仪能够快速、准确地表征传输速率高达 16 或 32 Gb/s 的单通道和多通道器件中的接收机。 M8020A 综合了更广泛的功能&#xff0c;可以简化您的测试系统。 自动对信…

AGV导航方法大盘点:3大类,12小类

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 在自动化物流领域&#xff0c;自动导引车&#xff08;AGV&#xff09;扮演着至关重要的角色。它们不仅能够提高搬运效率&#xff0c;还能在各种环境中准确无误地完成任务。 而这一切的…

KVM虚拟化之命令行界面创建KVM虚拟机

环境&#xff1a;CentOS8 安装所需软件包 yum groupinstall -y "Virtualization*" 上传一个ISO镜像 使用指令创建KVM虚拟机 给KVM虚拟机创建一个磁盘 -f:指定磁盘类型为qcow2 使用指令创建一个虚拟机 virt-install \ --nameCentos-2 \ --vcpu 1 \ --memory 2048 \ -…

【SpringCloud】(一文通)服务注册/服务发现-Eureka

目 录 一. 背景1.1 问题描述1.2 解决思路1.3 什么是注册中心1.4 CAP理论1.5 常见的注册中心 二. Eureka 介绍三. 搭建Eureka Server3.1 创建 Eureka-server 子模块3.2 引入 eureka-server 依赖3.3 项目构建插件3.4 完善启动类3.5 编写配置文件3.6 启动服务 四. 服务注册4.1 引入…

Docker基础概述、Docker安装、Docker镜像加速、Docker镜像指令

1.为什么学docker 开发环境与测试环境不同&#xff0c;导致错误 因此docker提供解决方法———系统平滑移植&#xff0c;容器虚拟化技术 将代码与软件与配置文件 打包成一个镜像 2.docker的历练 创建一个开发环境内成为镜像文件再用docker使用镜像 3.什么是docker Docke…

泛型篇(Java - 泛型机制)(持续更新迭代)

目录 私聊 一、什么是泛型&#xff0c;泛型有什么用&#xff0c;为什么要用 1. 说法一 1.1 什么是泛型 1.2 泛型的使用 1.3 为什么要用泛型 2. 说法二 2.1 什么是泛型&#xff0c;泛型有什么用&#xff0c;为什么要用 2.2 怎么使用泛型&#xff0c;泛型可以作用在什么…

私有方法加事务注解会导致事务失效

这里idea其实已经提醒了使用事务不能用私有方法&#xff0c;这其实是个常见问题&#xff0c;这里主要就加深印象

XSS复现

目录 XSS简单介绍 一、反射型 1、漏洞逻辑&#xff1a; 为什么有些标签可以触发&#xff0c;有些标签不能触发 可以触发的标签 不能触发的标签 为什么某些标签能触发而某些不能 二、DOM型 1、Ma Spaghet! 要求&#xff1a; 分析&#xff1a; 结果&#xff1a; 2、J…

计算xpclr

1.conda安装xpclr 首先安装流程很轻松 conda create -n xpclr -c bioconda xpclr conda activate xpclr xpclr -h 2.按照要求准备文件 XPCLR - 简书 (jianshu.com) 根据教程准备文件&#xff0c;vcf&#xff0c;计算好的map&#xff0c;以及样本文件txt 其实官网也有介绍…

django学习入门系列之第九点《案例 Flask+MySQL新增用户》

文章目录 1 新增用户往期回顾 1 新增用户 from flask import Flask, render_template, request import pymysqlapp Flask(__name__)# 创建了网址 /nima和函数index的对应关系 # 以后用户在浏览器上访问/nima自动运行函数 app.route("/nima", methods[GET, POST]) d…

最小区间00

题目链接 最小区间00 题目描述 注意点 -10^5 < nums[i][j] < 10^5nums[i] 按非递减顺序排列找到一个 最小 区间&#xff0c;使得 k 个列表中的每个列表至少有一个数包含在其中 解答思路 参照题解&#xff0c;根据滑动窗口完成本题首先将所有的元素都提取出来并按升序…

为修复漏洞而准备的更新破坏了Windows-Linux双启动的计算机

上周是微软支持的 Windows 操作系统每月一次的"星期二补丁"活动。然而&#xff0c;一个本意是修复漏洞的补丁却给一些使用 Windows 和各种版本 Linux 的双启动电脑带来了问题。 Ars Technica报道称&#xff0c;该更新旨在修复名为CVE-2022-2601 的漏洞。该漏洞于 20…

Ps:首选项 - 工具

Ps菜单&#xff1a;编辑/首选项 Edit/Preferences 快捷键&#xff1a;Ctrl K Photoshop 首选项中的“工具” Tool选项卡允许用户根据自己的使用习惯和工作需求来定制 Photoshop 工具的行为。这些设置能够帮助用户提高操作的效率和精确度&#xff0c;提供更加流畅和符合个人习惯…

电影推荐(2)-----基于物品的协同过滤算法关联性分析

目录 1.算法的简单图解 2.算法的基本分析过程 3.算法的核心 4.算法的实现 5.关联分析的概念 5.1事务和事务库 5.2项 5.3项集 6.支持度 6.1受欢迎程度 6.2最小支持度 6.3关联条件 7.置信度 8.提升度 1.算法的简单图解 2.算法的基本分析过程 3.算法的核心 上面的全…

【个人学习】JVM(7):方法区概述、方法区内部结构、垃圾回收等

方法区 栈、堆、方法区的交互关系 从线程共享与否的角度来看 ThreadLocal:如何保证多个线程在并发环境下的安全性?典型场景就是数据库连接管理,以及会话管理。 栈、堆、方法区的交互关系 下面涉及了对象的访问定位 Person 类的 .class 信息存放在方法区中person 变量存放…

基于web的铁路订票管理系统

TOC springboot347基于web的铁路订票管理系统--论文 研究背景 近年来&#xff0c;由于计算机技术和互联网技术的飞速发展&#xff0c;所有企事业单位内部都是数字化、信息化、无纸化的发展趋势&#xff0c;随着这种趋势的发展&#xff0c;各种决策系统、辅助系统也应运而生&…

计量自动化终端上行通信规约

物理层 TCP 和 UDP 的传输接口 该类接口的登录链接和心跳检测采用链路测试服务&#xff0c;链路测试周期可设定。 参见 TCP/IP 协议规范。 串行通信传输接口 字节传输按异步方式进行&#xff0c;它包含 8 个数据位、1 个起始位“0”、1 个偶校验位 P 和 1 个停止位“1”。 …