初识Vue【1】

1.什么是Vue:

Vue (读音 /vjuː/,类似于 **view**) 是一套用于构建用户界面的**渐进式框架**。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与[现代化的工具链]([https://v2.cn.vuejs.org/v2/guide/single-file-components.html)](https://v2.cn.vuejs.org/v2/guide/single-file-components.html))以及各种[支持类库]([https://github.com/vuejs/awesome-vue#libraries--plugins)](https://github.com/vuejs/awesome-vue#libraries--plugins))结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

Vue教学网址:https://v2.cn.vuejs.org/v2/guide/

2.Vue的特点:

  • 遵循MVVM模式:
  • 体积小,运行效率高,本身只关注视图层,可以引入其他的第三方库

3.Vue的使用步骤:

1.实现步骤:

1.创建一个基础的HTML文档:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
</html>

2.引入Vue环境:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</body>
</html>
  注意看引入的Vue环境是需要在线引入的,因此我们可以进行离线引入,即访问Vue环境的网址,将Vue环境所需要的资源复制到我们自定义的js文件中,再在HTML文档中引入我们定义的js文件即可
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>//src属性的值即为vue环境资源所在的js文件路径<script src="vue/vue.js"></script>
</body>
</html>
 Vue环境的部分源码如下:

3.准备一个容器:

 <font style="color:rgba(0, 0, 0, 0.85);">Vue 应用需要一个根元素来进行挂载。通常会在 HTML 中创建一个 </font>`div`<font style="color:rgba(0, 0, 0, 0.85);"> 元素作为 Vue 应用的挂载点。</font>

然后在 JavaScript 中使用 new Vue({ el: '#app' }) 将 Vue 实例挂载到这个 div 上。这样 Vue 就可以管理这个 div 及其内部的 DOM 结构,实现数据驱动的视图更新。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app"></div>//src属性的值即为vue环境资源所在的js文件路径<script src="vue/vue.js"></script>
</body>
</html>  
注意:div容器应使用id选择器,因为div容器与Vue实例是一一对应的,如果使用类选择器或标签选择器就可能出现一个Vue实例对应到多个div容器的现象

4.创建Vue实例:

  通过new关键字创建一个Vue实例,并给此实例添加两个属性,el属性表示此Vue实例绑定的div容器的id,data属性是一个对象,用于保存数据内容;
 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app"></div>//src属性的值即为vue环境资源所在的js文件路径<script src="vue/vue.js"></script><script>// 创建vue实例let vm=new Vue({//'#'表示选择器el:"#app",data:{name:'张三'}});
</body>
</html>     

5.在div容器中获取Vue实例中保存的数据:

 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app"><h1>hello,{{name}}</h1>
</div>//src属性的值即为vue环境资源所在的js文件路径<script src="vue/vue.js"></script><script>// 创建vue实例let vm=new Vue({//'#'表示选择器el:"#app",data:{name:'张三'}});
</body>
</html>     
![](https://cdn.nlark.com/yuque/0/2024/png/45532635/1732075611595-b5539d9a-ca12-41f8-a296-332840ffac79.png)

2.总结:

  •     1.引入Vue环境;
    
  •     2.准备容器,并添加id属性为此容器命名;
    
  •     3.创建Vue实例,并传入配置对象;
    
  •     4.app容器中的代码 需要符合HTML的规范 可以混入Vue语法(上面的插值表达式就属于Vue语法);
    
  •     5.Vue实例与容器是一一对应的;
    
  •     6.一旦data中的变量 发生改变 那么页面也会改变;
    

3.说明:

还是以上面的代码为例:

 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!--  准备容器-->
<div id="app"><h1>hello,{{name}}</h1>
</div>//src属性的值即为vue环境资源所在的js文件路径<script src="vue/vue.js"></script><script>// 创建vue实例let vm=new Vue({//'#'表示选择器el:"#app",data:{name:'张三'}});
</body>
</html>     

此时我们在浏览器的控制台上可以获取此时name变量的值

当我们此时改变name变量的值时,浏览器页面上也会相应改变

有个问题需要注意一下,就是我们在代码中name变量是Vue实例中data属性的子属性,而非Vue实例vm的属性,那为什么我们可以直接通过vm.name获取或修改name属性的值呢。实际上它的底层是通过Object的defineproperty()方法将data的属性复制到了vm中,并提供了get/set方法,才使得我们可以直接获取或修改name的值;

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

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

相关文章

Jest入门

快速入门 Jest中文文档 | Jest中文网 1.下载&#xff1a;npm install --save-dev jest 2.创建 sum.js 文件&#xff1a; function sum(a, b) { return a b; } module.exports sum; 3.创建sum.test.js 的文件 const sum require(./sum); test(adds 1 2 to equal 3,…

Spring Boot企业级开发五大核心功能与高级扩展实战

前言 在企业级应用开发中&#xff0c;Spring Boot已成为事实上的Java开发标准。本文将从企业实际需求出发&#xff0c;深入剖析Spring Boot五大必用核心功能&#xff0c;并扩展讲解三项高级开发技能&#xff0c;帮助开发者掌握构建健壮、高效、易维护的企业级应用的必备技术。…

2025电工杯数学建模B题思路数模AI提示词工程

我发布的智能体链接&#xff1a;数模AI扣子是新一代 AI 大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力&#xff0c;扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体&#xff0c;并发布到豆包、飞书等各个平台。https://www.coze.cn/search/n…

LabVIEW开发FPGA磁声发射应力检测系统

工业级磁声发射应力检测系统&#xff0c;针对传统设备参数固定、灵活性不足的痛点&#xff0c;采用 Xilinx FPGA 与 LabVIEW 构建核心架构&#xff0c;实现激励信号可调、多维度数据采集与实时分析。系统适用于铁磁性材料应力检测场景&#xff0c;具备高集成度、抗干扰性强、检…

Java IO流学习指南:从小白到入门

Java的IO&#xff08;Input/Output&#xff09;流是处理数据输入和输出的基础。无论是读取文件、写入文件&#xff0c;还是通过网络传输数据&#xff0c;IO流都无处不在。对于刚接触Java的新手&#xff0c;理解IO流可能会有些困惑&#xff0c;但别担心&#xff0c;今天我们将一…

【后端高阶面经:微服务篇】1、微服务架构核心:服务注册与发现之AP vs CP选型全攻略

一、CAP理论在服务注册与发现中的落地实践 1.1 CAP三要素的技术权衡 要素AP模型实现CP模型实现一致性最终一致性&#xff08;Eureka通过异步复制实现&#xff09;强一致性&#xff08;ZooKeeper通过ZAB协议保证&#xff09;可用性服务节点可独立响应&#xff08;支持分区存活…

QNAP NEXTCLOUD 域名访问

我是用docker compose方式安装的&#xff0c;虽然不知道是不是这么个叫法&#xff0c;废话不多说。 背景&#xff1a;威联通container station安装了nextcloud和lucky&#xff0c;lucky进行的域名解析和反代 先在想安装的路径、数据存储路径、数据库路径等新建文件夹。再新建…

高级SQL技巧:窗口函数与复杂查询优化实战

高级SQL技巧&#xff1a;窗口函数与复杂查询优化实战 开篇&#xff1a;数据库开发中的挑战 在现代企业级应用中&#xff0c;数据库不仅是存储数据的核心组件&#xff0c;更是处理复杂业务逻辑的重要工具。然而&#xff0c;随着数据量和并发请求的不断增长&#xff0c;传统的S…

《STL--list的使用及其底层实现》

引言&#xff1a; 上次我们学习了容器vector的使用及其底层实现&#xff0c;今天我们再来学习一个容器list&#xff0c; 这里的list可以参考我们之前实现的单链表&#xff0c;但是这里的list是双向循环带头链表&#xff0c;下面我们就开始list的学习了。 一&#xff1a;list的…

docker中使用openresty

1.为什么要使用openresty 我这边是因为要使用1Panel&#xff0c;第一个最大的原因&#xff0c;就是图方便&#xff0c;比较可以一键安装。但以前一直都是直接安装nginx。所以需要一个过度。 2.如何查看openResty使用了nginx哪个版本 /usr/local/openresty/nginx/sbin/nginx …

vscode包含工程文件路径

在 VSCode 中配置 includePath 以自动识别并包含上层目录及其所有子文件夹&#xff0c;需结合通配符和相对/绝对路径实现。以下是具体操作步骤及原理说明&#xff1a; 1. 使用通配符 ** 递归包含所有子目录 在 c_cpp_properties.json 的 includePath 中&#xff0c;${workspac…

【排序算法】典型排序算法 Java实现

以下是典型的排序算法分类及对应的 Java 实现&#xff0c;包含时间复杂度、稳定性说明和核心代码示例&#xff1a; 一、比较类排序&#xff08;通过元素比较&#xff09; 1. 交换排序 ① 冒泡排序 时间复杂度&#xff1a;O(n)&#xff08;优化后最优O(n)&#xff09; 稳定性&…

多模态大语言模型arxiv论文略读(八十七)

MG-LLaVA: Towards Multi-Granularity Visual Instruction Tuning ➡️ 论文标题&#xff1a;MG-LLaVA: Towards Multi-Granularity Visual Instruction Tuning ➡️ 论文作者&#xff1a;Xiangyu Zhao, Xiangtai Li, Haodong Duan, Haian Huang, Yining Li, Kai Chen, Hua Ya…

塔能节能平板灯:点亮苏州某零售工厂节能之路

在苏州某零售工厂的运营成本中&#xff0c;照明能耗占据着一定比例。为降低成本、提升能源利用效率&#xff0c;该工厂与塔能科技携手&#xff0c;引入塔能节能平板灯&#xff0c;开启了精准节能之旅&#xff0c;并取得了令人瞩目的成效。 一、工厂照明能耗困境 苏州该零售工厂…

数据库事务的四大特性(ACID)

一、前言 在现代数据库系统中&#xff0c;事务&#xff08;Transaction&#xff09;是确保数据一致性和完整性的重要机制。事务的四大特性——原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;…

8 种快速易用的Python Matplotlib数据可视化方法

你是否曾经面对一堆复杂的数据&#xff0c;却不知道如何让它们变得直观易懂&#xff1f;别慌&#xff0c;Python 的 Matplotlib 库是你数据可视化的最佳伙伴&#xff01;它简单易用、功能强大&#xff0c;能将枯燥的数字变成引人入胜的图表。无论是学生、数据分析师还是程序员&…

springboot 控制层调用业务逻辑层,注入报错,无法自动装配 解决办法

报错&#xff1a; 解决&#xff1a;愿意是业务逻辑层&#xff0c;即service层的具体实现类没有加注解Service导致的&#xff0c;加上解决了&#xff01;&#xff01;

如何提高独立服务器的安全性?

独立服务器相对于其它服务器来说&#xff0c;整体的硬件设备都是独立的同时还有着强大的服务器性能&#xff0c;其中CPU设备能够决定着服务器的运算能力&#xff0c;所以独立服务器的安全性受到企业格外的重视&#xff0c;严重的话会给企业造成巨大的资金损失。 那么&#xff0…

关于 Web 风险点原理与利用:6. 逻辑风险点

一、分类&#xff1a; 1.1 越权访问 **越权访问&#xff08;Authorization Bypass&#xff09;**是指&#xff1a;攻击者绕过了权限控制机制&#xff0c;访问或操作了非其权限范围内的资源或功能。 换句话说&#xff0c;系统该拦你没拦&#xff0c;你就越权成功了。 1.1.1 …

分布式缓存:ZSET → MGET 跨槽(cross‐slot)/ 并发 GET解决思路

文章目录 缓存全景图Pre问题描述解决思路一、管道&#xff08;Pipelining&#xff09;替代多线程二、使用 Hash Tag 保证数据同槽三、用 Hash 结构一次性批量取值四、把数据直接存进 ZSET&#xff08;或用 RedisJSON&#xff09; 小结 缓存全景图 Pre 分布式缓存&#xff1a;缓…