Vue3.js - 数据代理方法

news2024/10/28 17:36:23

1. Vue导入

最简单的方式,通过联网接入Vue3的接口

<script type="text/javascript" src="https://unpkg.com/vue@3"></script>

2. Vue实例

2.1 创建Vue实例

const vm = Vue.createApp({})

使用Vue中的createApp方法创建对应实例,其中以对象的形式{}进行自定义 

2.2 Vue实例挂载

<div id='information'>
<p></p>
</div>
vm.mount('选择器')

需要将Vue实例搭载在对应标签上,标签及对应的子标签都会被Vue实例所涵盖

请注意,内嵌属性中想要运用Vue内容,需要使用“”,冒号中的变量对应Vue中的内容

3. 数据代理

3.1 MVVM模型

了解数据代理需要先了解MVVM模型,是数据代理的底层逻辑

MVVM模型

  1. M:模型,存储在内部中的数据
  2. V视图,模版代码,需要向用户展示的窗口
  3. VM:视图模型,通过VM,将我们的M展示在V中
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="https://unpkg.com/vue@3"></script>
    </head>
    <body>
        <div id="information">
            <p>Name:{{name}}</p>
            <p>Age:{{age}}</p>
        </div>
        <script>
            const vm = Vue.createApp({
                data(){
                    return{
                        name:'Ricardo',
                        age:22
                    }
                }
            })
            vm.mount('#information')
        </script>
    </body>
</html>

在Vue3中数据代理是 Vue 的响应式系统的核心机制。当数据发生变化时自动更新视图。数据代理的目的是使开发者能轻松操作数据并与界面保持同步,而不需要手动更新视图。

在常规Javascript中,开发者常常需要手动获取Dom的标签解析其中数据,之后再改变对应数据再传入至文档中,Vue则可以实现快速完成数据的更替工作

-此处引用B站教程尚硅谷教学视频截图

Vue将用户所创建的data对象引入给内部$data(Vue3),从而保存对应内容的数值

 3.2 数据

创建一个data函数,返回我们所需要的数据对象内容,数据对象内容中可以继续嵌套数据对象

data(){
    return {
        name:'Louis',
        age:22
    }
}

data 是一个对象而不是函数,所有实例会共享同一个数据对象,导致数据污染。

使用data函数确保每次创建组件实例时,都会返回一个新的数据对象,使每个实例的状态彼此独立。

3.3 插值表达式

用于将 JavaScript 表达式的值动态插入到 HTML 模板中,Vue 会在模板编译时将插值表达式解析,并将相应的结果渲染到页面上。

{{相关变量名}} //插值

3.4 指令语法

""中的值对应的是存储在Vue中data的数据

• 单向绑定属性

v-bind:

<a v-bind:href='webpage'></a>

 或者使用缩写形式

<a :href='webpage'></a>

可以对标签内部属性进行自定义,达到快速更改的效果,单向绑定只可以data流向页面

• 双向绑定属性

v-model:

<a v-model:href='webpage'></a>

双向绑定顾名思义,data可以流向页面,页面对相关属性进行修改之后,所对应Vue实例中的数据也会被修改 

4.  事件处理

4.1 事件对象

事件对象,事件发生之后默认返回一个事件对象,其中包含了许多与当前事件相关的信息,比如哪个元素触发了事件、事件类型、鼠标位置等

在Vue中,使用v-on监听时间,并调用对应方法

<button v-on:click="handleClick">点击我</button>
<!-- 简写 -->
<button @click="handleClick">点击我</button>

不含()函数输入默认参数为事件对象 

4.2 键盘事件

4.2.1 基本键盘事件

keydown:按下键盘触发

<input @keydown="方法名" placeholder="提示">

keyup:松开键盘时触发

<input @keyup="方法名" placeholder="">

4.2.2 键位修饰符 

对于特定的键位进行事件绑定

<input type="text" @keyup.enter="onEnter" placeholder="按回车提交">
键位修饰符描述
.enter回车键
.delete删除键
.escEscape键
.up上方向键
.down左方向键
.space空格键

4.3 Vue方法

vue对象中使用methods去定义对象内的方法,函数与正常定义函数语法一致

methods:{
    display(){
        alert('Hello world')
    }
}

display()自动传入vm实例,可以任意读取vm中的data

vm.name = xx

 

4.4 事件修饰符

Vue提供了一系列修饰符来简化常见的事件处理逻辑

修饰符作用事例
.stop阻止事件冒泡,针对于子标签中的事件,父标签中设定stop不会进行冒泡调用@click.stop=''
.prevent阻止默认行为@click.prevent=''
.capture使用事件捕获模式,以此从上到下执行@click.capture=''
.self只有在当前元素触发事件才会执行@click.self=''
.once事件处理器只执行一次@click.once=''
.passive事件默认行为立即执行,无需等待时间@click.passive=''

5. 参考资料 

B站尚硅谷教学视频

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

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

相关文章

115页PPT华为管理变革:制度创新与文化塑造的核心实践

集成供应链&#xff08;ISC&#xff09;体系 集成供应链&#xff08;ISC&#xff09;体系是英文Integrated Supply Chain的缩写&#xff0c;是一种先进的管理思想&#xff0c;它指的是由相互间提供原材料、零部件、产品和服务的供应商、合作商、制造商、分销商、零售商、顾客等…

AI 提示词(Prompt)入门 :ChatGPT 4.0 高级功能指南

这段时间 GPT4 多了很多功能&#xff0c;今天主要是增加了 GPTs Store 的介绍和 创建 GPTs 的简单方法&#xff0c;那么我们开始吧&#xff0c;文末有彩蛋。 这里主要讲解如下几个点&#xff1a; 1&#xff1a; ChatGPT 4.0 插件的使用 2&#xff1a;ChatGPT 4.0 高级数据分…

【小白学机器学习16】 概率论的世界观2: 从正态分布去认识世界

目录 1 从正态分布说起 1.1 正态分布的定义 1.2 正态分布的名字 1.3 正态分布的广泛&#xff0c;和基础性 2 正态分布的公式和图形 2.1 正态分布 2.2 标准正态分布 3 正态分布的认识的3个层次 3.1 第1层次&#xff1a;个体的某个属性的样本值&#xff0c;服从正态分布…

四、大模型(LLMS)langchain面

本文精心汇总了多家顶尖互联网公司在大模型进阶知识考核中的核心考点&#xff0c;并针对这些考点提供了详尽的解答。并提供电子版本&#xff0c;见于文末百度云盘链接中&#xff0c;供读者查阅。 一、大模型langchainmian • 一、什么是 LangChain? • 二、LangChain 包含哪些…

kafka 如何减少数据丢失?

大家好&#xff0c;我是锋哥。今天分享关于【kafka 如何减少数据丢失?】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka 如何减少数据丢失? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Apache Kafka 是一个高吞吐量的分布式消息队列&#xff0c;广泛用…

FPGA第 13 篇,使用 Xilinx Vivado 创建项目,点亮 LED 灯,Vivado 的基本使用(点亮ZYNQ-7010开发板的LED灯)

前言 在FPGA设计中&#xff0c;Xilinx Vivado软件是一款功能强大的设计工具&#xff0c;它不仅支持硬件描述语言&#xff08;HDL&#xff09;的开发&#xff0c;还提供了丰富的图形化设计界面&#xff0c;方便用户进行硬件设计、调试和测试。这里我们将详细介绍&#xff0c;如…

Error in eval(family$initialize): y值必需满足0 <= y <= 1解决

今天在使用R语言对Weekly进行交叉验证时&#xff0c;发生如下报错&#xff1a; 错误于eval(family$initialize): y值必需满足0 < y < 1 错误代码为&#xff1a; Weekly<-read.csv("Weekly.csv") set.seed(1) attach(Weekly) glm.fit1 glm(Direction~Lag…

App测试环境部署

一.JDK安装 参考以下AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 二.SDK安装 安装地址&#xff1a;https://www.androiddevtools.cn/ 解压 环境变量配置 变量名&#xff1a;ANDROID_SDK_HOME 参考步骤&#xff1a; A…

图---java---黑马

图 概念 图是由顶点(vertex)和边(edge)组成的数据结构&#xff0c;例如 该图有四个顶点&#xff1a;A&#xff0c;B&#xff0c;C&#xff0c;D以及四条有向边&#xff0c;有向图中&#xff0c;边是单向的。 有向 vs 无向 如果是无向图&#xff0c;那么边是双向的&#x…

汽车电子工厂中的防静电监控系统,你了解多少?

在汽车电子制造领域&#xff0c;静电放电(ESD)带来的危害不容忽视。微小的静电放电都可能导致电子元器件损坏&#xff0c;进而引发昂贵的返工、产品召回甚至安全事故。因此&#xff0c;有效的防静电监控系统成为汽车电子工厂保障产品质量和安全生产的关键。 传统的防静电措施主…

全面解释人工智能LLM模型的真实工作原理(三)

前一篇&#xff1a;《全面解释人工智能LLM模型的真实工作原理&#xff08;二&#xff09;》 序言&#xff1a;前面两节中&#xff0c;我们介绍了大语言模型的设计图和实现了一个能够生成自然语言的神经网络。这正是现代先进人工智能语言模型的雏形。不过&#xff0c;目前市面上…

深入分析梧桐数据库SQL查询之挖掘季度销售冠军

在现代商业环境中&#xff0c;对销售数据的深入分析是企业决策过程中不可或缺的一部分。通过分析销售数据&#xff0c;企业可以识别出表现最佳的员工&#xff0c;从而激励团队&#xff0c;优化销售策略&#xff0c;并提高整体业绩。本文将详细介绍如何使用SQL查询来识别每个季度…

Navicat导入Excel数据时数据被截断问题分析与解决方案

目录 前言1. 问题分析1.1 默认字段类型的影响1.2 MySQL诊断机制的限制 2. 解决方案2.1 修改字段长度2.2 修改Excel数据以影响推断2.3 检查导入工具的设置 3. 其他注意事项3.1 注册表的修改3.2 增加自增ID 4. 结语 前言 在数据库的日常操作中&#xff0c;将Excel数据导入MySQL是…

基于Python和OpenCV的疲劳检测系统设计与实现

项目运行 需要先安装Python的相关依赖&#xff1a;pymysql&#xff0c;Django3.2.8&#xff0c;pillow 使用pip install 安装 第一步&#xff1a;创建数据库 第二步&#xff1a;执行SQL语句&#xff0c;.sql文件&#xff0c;运行该文件中的SQL语句 第三步&#xff1a;修改源…

JVM(HotSpot):GC之G1垃圾回收器

文章目录 一、简介二、工作原理三、Young Collection 跨代引用四、大对象问题 一、简介 1、适用场景 同时注重吞吐量&#xff08;Throughput&#xff09;和低延迟&#xff08;Low latency&#xff09;&#xff0c;默认的暂停目标是 200 ms超大堆内存&#xff0c;会将堆划分为…

Unreal Engine5安装Niagara UI Renderer插件

系列文章目录 文章目录 系列文章目录前言一、如何下载安装Niagara UI Renderer插件 前言 在2024.10.24号的今天发现unreal engine官网已经没有虚幻商城了&#xff0c;取而代之的是FAB ‌虚幻商城已经停止运营&#xff0c;Epic Games推出了新的数字资产商店FAB。‌ Epic Games…

vue mysql 直连

最近又搞了个小项目&#xff0c;单机版本的内部考勤管理系统&#xff0c;直接部署在对方的工作电脑上&#xff0c;不需要在云端部署&#xff0c;因为项目本身就小&#xff0c;我就没配置后端同事进行开发&#xff0c;而是通过VUE直连mysql进行业务开发及保存。后期再通过PM2来守…

灵动AI:艺术与科技的融合

灵动AI视频官网地址&#xff1a;https://aigc.genceai.com/ 灵动AI 科技与艺术的完美融合之作。它代表着当下最前沿的影像技术&#xff0c;为我们带来前所未有的视觉盛宴。 AI 视频以强大的人工智能算法为基石&#xff0c;能够自动分析和理解各种场景与主题。无论是壮丽的自然…

快速搭建SpringBoot3+Prometheus+Grafana

快速搭建SpringBoot3PrometheusGrafana 一、搭建SpringBoot项目 1.1 创建SpringBoot项目 1.2 修改pom文件配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://…

MySQL之数据库设计

前文我们了解了数据库中库、表等的操作&#xff0c;今天我们来学习如何设计数据库&#xff1f;&#xff1f; 在设计数据库前&#xff0c;我们先来了解什么是范式&#xff1f;&#xff1f; 1. 范式 数据库的范式是一组规则&#xff0c;在设计关系数据库时&#xff0c;遵从不同…