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

目录

  • 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.mfbz.cn/a/560514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)

文章目录 MySQL 列数据跨表拷贝&#xff0c;一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段&#xff08;A、B表通过ID等字段对应&#xff09;背景定义表填充测试数据跨表一 一对应拷贝列数据SQL参考资料 MySQL 列数据跨表拷贝&#xff0c;一句SQL快速将表A每条…

【C++】:函数重载,引用,内联函数,auto关键字,基于范围的for循环,nullptr关键字

目录 一&#xff0c;函数重载1.1 函数重载的定义1.1.1.形参的类型不同1.1.2参数的个数不同1.1.3.参数的顺序不同1.1.4.有一个是缺省参数构成重载。但是调用时存在歧义1.1.5.返回值不同&#xff0c;不构成重载。因为返回值可接收&#xff0c;可不接受&#xff0c;调用函数产生歧…

Python 比较文本文件

1、问题背景 我们需要比较一个文本文件 F 与路径下多个其他文本文件之间的差异。我们已经编写了以下代码&#xff0c;但只能输出一个文件的比较结果。我们需要修改代码&#xff0c;以便比较所有文件并打印所有结果。 import difflib import fnmatch import osfilelist[] f op…

Don‘t fly solo! 量化之路,AI伴飞

在投资界&#xff0c;巴菲特与查理.芒格的神仙友谊&#xff0c;是他们财富神话之外的另一段传奇。巴菲特曾这样评价芒格&#xff1a;他用思想的力量拓展了我的视野&#xff0c;让我以火箭的速度&#xff0c;从猩猩进化到人类。 人生何幸能得到一知己。如果没有这样的机缘&…

使用共振峰提取元音音素/从声音生成口型动画

视频效果 我前段时间研究了下从声音提取共振峰的方法。今天测试了下实际效果。 我使用一段33秒的女声视频&#xff0c;提取元音后使用静态视位图序列生成了一个视频&#xff0c;效果如下&#xff1a; b站视频&#xff1a; https://www.bilibili.com/video/BV1JD421H7m9/?vd_…

泛型的初步认识(2)

前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&#x…

MYSQL之增删改查(中)

前言&#xff1a; 以下是MySQL最基本的增删改查语句&#xff0c;很多IT工作者都必须要会的命令&#xff0c;也 是IT行业面试最常考的知识点&#xff0c;由于是入门级基础命令&#xff0c;所有所有操作都建立在单表 上&#xff0c;未涉及多表操作。 4、“查”——之单表查询 My…

html select 支持内容过滤列表 -bootstrap实现

实现使用bootstrap-select插件 http://silviomoreto.github.io/bootstrap-select <!DOCTYPE html> <html> <meta charset"UTF-8"> <head><title>jQuery bootstrap-select可搜索多选下拉列表插件-www.daimajiayuan.com</title>&…

部署ELFK+zookeeper+kafka架构

目录 前言 一、环境部署 二、部署ELFK 1、ELFK ElasticSearch 集群部署 1.1 配置本地hosts文件 1.2 安装 elasticsearch-rpm 包并加载系统服务 1.3 修改 elasticsearch 主配置文件 1.4 创建数据存放路径并授权 1.5 启动elasticsearch是否成功开启 1.6 查看节点信息 …

面试不慌张:一文读懂FactoryBean的实现原理

大家好&#xff0c;我是石头~ 在深入探讨Spring框架内部机制时&#xff0c;FactoryBean无疑是一个关键角色&#xff0c;也是面试中经常出现的熟悉面孔。 不同于普通Java Bean&#xff0c;FactoryBean是一种特殊的Bean类型&#xff0c;它的存在并非为了提供业务逻辑&#xff0c;…

使用Python进行自动化测试

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 如何使用Python进行自动化测试&#xff1a;测试框架的选择与应用 自动化测试是软件开发过程…

代码随想录算法训练营DAY28|C++回溯算法Part.4|93.复原IP地址、78.子集、90.子集II

文章目录 93.复原IP地址思路确定非法的范围树形结构 伪代码 78.子集思路伪代码实现CPP代码 90.子集II思路CPP代码用used去重的办法用set去重的版本不使用used数组、set的版本 93.复原IP地址 力扣题目链接 文章讲解&#xff1a;93.复原IP地址 视频讲解&#xff1a;回溯算法如何分…

curlftpfs和fusermount

curlftpfs 是一种 Linux 系统下用来将 FTP 服务器挂载为文件系统的工具&#xff0c;这意味着可以通过本地目录来访问和操作 FTP 服务器上的文件。 挂载FTP服务器到本地系统 为了挂载FTP服务器到本地系统中&#xff0c;使用curlftpfs工具&#xff0c;可以按照以下格式书写命令…

如何通过MSTSC连接Ubuntu的远程桌面?

正文共&#xff1a;666 字 12 图&#xff0c;预估阅读时间&#xff1a;1 分钟 前面我们介绍了如何通过VNC连接Ubuntu 18.04的远程桌面&#xff08;Ubuntu 18.04开启远程桌面连接&#xff09;&#xff0c;非常简单。但是有小伙伴咨询如何使用微软的远程桌面连接MSTSC&#xff08…

黑灰产行业简介

参考&#xff1a;2021年黑灰产行业研究及趋势洞察报告 1. 有哪些场景面临大量黑灰产攻击&#xff1f; 1.营销活动场景 -- 该场景最为猖獗 1. 抹机及接码注册&#xff1a;黑灰产会使用抹机工具修改设备参数伪装成一台新设备&#xff0c;再配合联系卡商进行手机号接码&#xf…

项目7-音乐播放器3(删除模块+播放音乐模块设计)

1.播放音乐模块设计 1.1 请求响应设计 请求&#xff1a; { get, /music/get?pathxxx.mp3 } 响应&#xff1a; { 音乐数据本身的字节信息 } 1.2 后端代码 1. Files.readAllBytes(String path) : 读取文件中的所有字节&#xff0c;读入内存 &#xff…

java/C#语言开发的医疗信息系统10套源码

java/C#语言开发的医疗信息系统10套源码 云HIS系统源码&#xff0c;云LIS系统源码&#xff0c;PEIS体检系统&#xff0c;手麻系统 源 码&#xff0c;PACS系统源码&#xff0c;微源预约挂号源码&#xff0c;医院绩效考核源码&#xff0c;3D智能导诊系统源码&#xff0c;ADR药物…

UE5(基础动作)多人游戏制作蹲伏

1.创建输入操作&#xff0c;IA_Crouch 在输入映射中添加 IA_Crouch,在触发器中创建两个索引&#xff0c;已按下已松开来创建蹲伏输入。 蹲伏操作必须要勾选角色-角色移动-crouch勾选可蹲伏否则你的人物无法真正蹲下。 为蹲伏创建函数&#xff0c;创建布尔来判断是否蹲伏。 通过…

链表经典算法OJ题目

1.单链表相关经典算OJ题目1&#xff1a;移除链表元素 思路一 直接在原链表里删除val元素&#xff0c;然后让val前一个结点和后一个节点连接起来。 这时我们就需要3个指针来遍历链表&#xff1a; pcur —— 判断节点的val值是否于给定删除的val值相等 prev ——保存pcur的前…

LCR 023. 相交链表

给定两个单链表的头节点 headA 和 headB &#xff0c;请找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&#xf…