Vue入门篇:概念,快速入门,插值表达式,核心特性,基本Vue指令

news2024/11/16 21:53:41

目录

  • 1.Vue是什么
  • 2.快速入门
  • 3.插值表达式`{{}}`
    • 1.作用:
    • 2.语法:
    • 3.插值表达式的注意点:
  • 4.Vue响应式核心特性
  • 5.Vue指令

1.Vue是什么

Vue是一个流行的JavaScript框架,用于构建用户界面。它是一种用于构建单页面应用程序(SPA)的渐进式框架,也可以用于构建复杂的多页面应用程序。Vue提供了一种简单、灵活和高效的方式来创建交互式的Web界面。

Vue具有以下特点:

  • 易学易用:Vue具有简洁的API和易于理解的设计,使开发人员能够快速上手。
  • 双向数据绑定:Vue使用数据绑定机制,能够实现数据的自动更新,使得开发更加直观和高效。
  • 组件化开发:Vue将应用程序划分为多个可重用的组件,使得代码的重用性和可维护性更好。
  • 轻量级:Vue的文件很小,并且加载速度很快,对于慢速网络和移动设备非常友好。
  • 生态系统丰富:Vue有一个庞大而活跃的开源社区,提供了许多插件和扩展,方便开发人员使用和集成。

总之,Vue是一种非常流行的JavaScript框架,被广泛应用于构建现代Web应用程序。

在这里插入图片描述

2.快速入门

vue2官网地址:https://v2.cn.vuejs.org/

创建Vue 实例,初始化渲染的核心步骤:
1.准备容器

    <!-- 准备容器 -->
    <div id="app">
        <h1>{{msg}}</h1>
        <a href="#">{{count}}</a>

    </div>

2.引包(官网)-开发版本/生产版本

    <!-- 引入开发版本包 -->
    <script src="./vue.js"></script>

3.创建Vue实例new Vue()
4.指定配置项el data =>渲染数据
el指定挂载点,选择器指定控制的是哪个盒子,data 提供数据

  <script>
        //在全局环境,就有了vue构造函数
        const app = new Vue({
            el: '#app',
            data: {
                msg: 'hello world',
                count: 333
            }
        })   
    </script>

3.插值表达式{{}}

插值表达式是一种Vue的模板语法

1.作用:

利用表达式进行插值,渲染到页面中
表达式:是可以被求值的代码,JS引擎会将其计算出一个结果

2.语法:

{{表达式}}

3.插值表达式的注意点:

①使用的数据要存在( data )
②支持的是表达式,而非语句if … for
③不能在标签属性里面使用

4.Vue响应式核心特性

Vue的响应式核心特性是通过使用Object.defineProperty()来实现的。具体特性包括:

  1. 数据劫持:当我们将一个普通的JavaScript对象传入Vue实例的data选项时,Vue会递归遍历这个对象的所有属性,并使用Object.defineProperty()将它们转换为getter和setter,从而实现对每个属性的劫持。

  2. 数据驱动:一旦一个属性被劫持,当该属性的值发生变化时,Vue会自动触发一系列的更新操作,比如重新渲染视图或者执行其他响应逻辑,从而实现了数据驱动视图的更新。

  3. 响应式依赖追踪:Vue会在getter中收集当前属性的依赖,当该属性的值发生变化时,Vue会触发所有依赖该属性的地方进行更新。这个机制是通过一个全局的Dep类和每个属性对应的Watcher实例来实现的。

  4. 批量异步更新:在属性的setter中,Vue会将需要更新的Watcher放入一个队列中,然后通过nextTick函数在下一次事件循环中异步地执行这些Watcher的更新操作。这个机制可以保证在同一事件循环中的多次数据变化会被合并成一次更新操作,从而提高性能。

总的来说,Vue的响应式核心特性实现了数据和视图的双向绑定,使得数据的变化能够自动更新到视图上,同时也提供了一套方便的API,让开发者可以轻松地实现复杂的交互逻辑。

5.Vue指令

Vue指令是用于在模板中绑定数据和操作,以此实现动态更新视图的功能。以下是Vue指令的基本使用:

  1. v-text:将元素的textContent设置为指令的值
<span v-text="message"></span>
  1. v-html:将元素的innerHTML设置为指令的值
<span v-html="htmlMessage"></span>
  1. v-bind:动态绑定元素的属性值
<img v-bind:src="imageUrl" alt="">
  1. v-on:绑定元素的事件处理函数
<button v-on:click="handleClick">Click Me</button>

简写:@事件名
在这里插入图片描述

  1. v-model:双向绑定表单元素的值和Vue实例的数据
<input v-model="name" type="text">
  1. v-if / v-else-if / v-else:根据条件动态切换元素的显示和隐藏
<div v-if="isVisible">Visible</div>
<div v-else>Hidden</div>
  1. v-for:循环渲染数组或对象的元素
<ul>
  <li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>

v-for中的key
key作用:
给元素添加的唯一标识,便于Vue进行列表项的正确排序复用。
注意点:
1.key 的值只能是字符串或数字类型
2.key的值必须具有唯一性
3.推荐使用id 作为key (唯一),不推荐使用index作为key(会变化,不对应)

  1. v-show:根据条件动态切换元素的显示和隐藏,通过修改元素的display属性实现
<div v-show="isVisible">Visible</div>

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

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

相关文章

Tcl学习笔记(三)——列表、数组、字典

目录 1.列表 创建、获取列表 添加、删除、替换列表元素 搜索列表元素、对列表元素排序 字符串和列表之间的转换 2.数组 创建数组 获取数组中的元素 删除数组中的元素 数组与列表之间的转换 3.字典 1.列表 列表是Tcl中一种数据结构&#xff0c;是元素的有序集合&…

[Qt网络编程]之获取基本网络信息

目录 前言 获取主机IP地址 获取主机 IP 地址和子网掩码 获取主机 MAC 地址 前言 获取主机的网络地址和接口信息是进行网络编程的第一步&#xff0c;也是网络编程的基础。Qt提供了网络接口类 QNetworkInterface、网络地址人口类 QNetworkAddressEntry 和主机地址类 QHostAd…

Windows 下最好用的流程图软件Visio

keywords: Visio 小问题记录 连接线箭头 如果在 Visio 2013/2016 里画流程图&#xff0c;发现连接线没有箭头&#xff0c;检查一下「设计」菜单里是否将主题设置成了「无主题」&#xff0c;如果是&#xff0c;取消掉就好了。 鼠标悬停提示 把鼠标悬停在图形上四周应该有几…

“手撕“三大特性之一的<继承>(上)

目录 一、为什么需要继承 二、什么是继承 三、继承怎么写 四、成员的访问 1.父类与子类的成员变量不同名 2.父类与子类的成员变量同名 3.父类与子类的成员方法不同名 4.父类与子类的成员方法同名 五、super关键字 一、为什么需要继承 先让我们看一段Java代码&#…

【大模型应用极简开发入门(1)】LLM概述:LLM在AI中所处位置、NLP技术的演变、Transformer与GPT、以及GPT模型文本生成逻辑

文章目录 一. AI中大语言模型的位置与技术发展1. 从AI到Transformer2. NLP&#xff1a;自然语言处理3. LLM大型语言模型&#xff1a;NLP的一种特定技术3.1. LLM定义3.2. LLM的技术发展3.2.1. n-gram模型3.2.2. RNN与LSTM 二. Transformer在LLM中脱颖而出1. Transformer架构能力…

不敢说懂你 - Glide硬核源码剖析

问题 Glide加载流程? Glide整体架构? Glide数据加载的来源? Glide缓存加载的流程? Glide线程切换原理? Glide如何感知Activity? Glide哪种情况会返回应用级的RequestManager? … 带着一些问题去阅读… 使用示例 本篇主要基于glide:4.12.0进行分析。下面是Gli…

[论文阅读链接]

CVPR2023&#xff1a;Learning Human-to-Robot Handovers from Point Clouds http://t.csdnimg.cn/OfSnShttp://t.csdnimg.cn/OfSnS仿真工具&#xff1a;dm_control: Software and Tasks for Continuous Control dm_control 翻译: Software and Tasks for Continuous Control…

python免费调用阿里云通义千问(q-wen-max)大模型API

文章目录 通义千问开通免费API Keypython调用阿里云通义千问API 通义千问 通义千问&#xff0c;是基于阿里巴巴达摩院在自然语言处理领域的研究和积累。采用更先进的算法和更优化的模型结构&#xff0c;能够更准确地理解和生成自然语言、代码、表格等文本。 支持更多定制化需…

js 特定索引下拆分字符串并组建成新的字符串数据

要在特定索引处拆分字符串&#xff0c;请使用 slice 方法获取字符串的两个部分&#xff0c;例如 str.slice(0, index) 返回字符串的一部分&#xff0c;但不包括提供的索引&#xff0c;而 str.slice(index) 返回字符串的其余部分。 过程&#xff1a;我们创建一个可重用的变量&a…

Linux-用户管理类命令实训

查看根目录下有哪些内容 进入/tmp目录&#xff0c;以自己的学号建一个目录&#xff0c;并进入该目录 像是目前所在的目录 在当前目录下&#xff0c;建立权限为741的目录test1 在目录test1下建立目录test2/test3/test4 进入test2&#xff0c;删除目录test3/test4 &#xff08;7&…

paddle.net怎么付款?paddle.net怎么订阅?

有需要的小伙伴可以使用Fomepay的卡进行订阅支付&#xff0c;我这里使用的是491090卡段&#xff0c;开卡步骤很简单&#xff0c;点击获取卡片 1、注册 2、填写姓名使用拼音或者英文名都可以 3、支付宝或者微信支付

JavaWeb-登录校验

会话技术 浏览器使用的是http协议&#xff0c;多次请求间数据是不能共享的&#xff0c;例如我们要去访问用户数据的接口&#xff0c;但这时候用户是否已经登入了呢&#xff1f;是不知道的&#xff0c;为了解决这个问题&#xff0c;于是引入了会话跟踪技术。 会话&#xff1a;…

一次Ambari安装记录

引言 Ambari是一个开源的Apache项目,它提供了一个直观易用的Web界面,用于管理、监控和配置Apache Hadoop集群。它是一个集群管理工具,可以帮助管理员轻松地部署、管理和监控Hadoop集群的各种组件,如HDFS、YARN、MapReduce、Hive、HBase等。通过Ambari,用户可以在集群中添…

【GPTs分享】GPTs分享之Image Recreate | img2img​

简介 该GPT是一个专门用于图像编辑、重建和合并的工具。它通过详细的自动图像描述和生成&#xff0c;帮助用户从源图像中重现或修改图像。此工具设计用于为视障用户提供图像内容的详细描述&#xff0c;并生成全新的图像&#xff0c;以满足特定的视觉需求。 主要功能 \1. 图像…

存储人视角:人工智能AI + 大模型

原文来自于知乎存储专栏&#xff1a; 存储人视角&#xff1a;人工智能AI 大模型 前沿 我的角色 背景 AI 出场 效果 一个宠娃狂魔 娃喜爱并有奥特曼玩具 她的奥特曼玩具会跳舞了 娃对我的崇拜和爱又多了一分......amazing 杭州网商路艾弗森 球队需要制作LOGO 形象生动…

【学习】对于加密接口、签名接口如何进行性能测试

随着科技的飞速发展&#xff0c;加密接口和签名接口在我们的日常生活中扮演着越来越重要的角色。从在线支付到信息安全&#xff0c;它们始终默默地守护着我们的数字世界。然而&#xff0c;随着应用场景的不断扩展&#xff0c;性能测试变得尤为重要。今天&#xff0c;让我们一起…

【6】mysql查询性能优化-关联子查询

【README】 0. 先说结论&#xff1a;一般用inner join来改写in和exist&#xff0c;用left join来改写not in&#xff0c;not exist&#xff1b;&#xff08;本文会比较内连接&#xff0c;包含in子句的子查询&#xff0c;exist的性能 &#xff09; 1. 本文总结自高性能mysql 6…

PLC中连接外部现场设备和CPU的桥梁——输入/输出(I/O)模块

输入&#xff08;Input&#xff09;模块和输出&#xff08;Output&#xff09;模块简称为I/O模块&#xff0c;数字量&#xff08;Digital&#xff0c;又称为开关量&#xff09;输入模块和数字量输出模块简称为DI模块和DQ模块&#xff0c;模拟量&#xff08;Analog&#xff09;输…

求a+aa+aaa+……(C语言)

一、题目&#xff1b; 二、N-S流程图&#xff1b; 三、运行结果&#xff1b; 四、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a 0;int n 0;int i 0;int result 0;int tn 0;//提示用户&am…

Linux学习第52天:Linux网络驱动实验(二):一往(网)情深

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本节笔记的目录如下&#xff1a; 四、I.MX6ULL网络驱动简介 1.I.MX6ULL网络外设设备树 2.I.MX6ULL网络驱动源码简析 3.fec_netdev_ops操作集 4.Linux内核PHY子…