深入理解 Vue 中的指针操作(二)

news2025/1/20 16:29:14

文章目录

    • ☘️引言
    • ☘️基本用法
      • 🍂v-for指令
      • 🍂v-model指令
        • 🌱v-model适用表单控件
    • ☘️结论

☘️引言

Vue.js 是一款非常流行且功能强大的前端框架,它以其响应式的数据绑定和组件化的开发方式赢得了众多开发者的喜爱。而在 Vue.js 中,指针操作是一个非常重要的概念,它能够帮助我们更好地处理和操作数据。本篇博客将深入探讨 Vue 中的指针操作,分享一些实用的技巧和注意事项。

续  ➡ 深入理解 Vue 中的指针操作(一)

☘️基本用法

🍂v-for指令

Vue 的 v-for 指令用于渲染列表和集合数据。它的语法如下:

<div v-for="(item, index) in items" :key="item.id">{{ item.name }}</div>

其中,items 表示要遍历的数组或对象;item 和 index 是当前遍历项的值和索引;:key 表示为每个节点指定一个唯一的 key 值,以提高性能。item.id 可以换成其他具有唯一性的属性。

除了以上语法外,还可以使用 v-for 的简写方式:

<div v-for="item in items">{{ item.name }}</div>

这等效于 v-for=“(item, index) in items”,只是没有了索引变量。

在 v-for 中,还可使用特殊的别名 $index 来代表当前遍历的元素的索引值:

<div v-for="(item, $index) in items">{{ $index }}. {{ item.name }}</div>

在 v-for 的 items 数组或对象发生变化时,Vue 会自动重新计算视图,并进行最小化渲染,以提高性能。

代码示例:
以下是一个使用 v-for 渲染数组的例子:

<div id="app">
  <ul>
    <li v-for="item in items" :key="item.id">{{ item.name }}</li>
  </ul>
</div>
new Vue({
  el: '#app',
  data: {
    items: [
      { id: 1, name: 'Apple' },
      { id: 2, name: 'Banana' },
      { id: 3, name: 'Orange' }
    ]
  }
});

运行该示例,会在页面上展示一个包含三个水果列表项的无序列表。
运行结果:
在这里插入图片描述

还可以使用 v-for 渲染对象,例如:

<div id="app">
  <ul>
    <li v-for="(value, key) in object" :key="key">{{ key }}: {{ value }}</li>
  </ul>
</div>
new Vue({
  el: '#app',
  data: {
    object: {
      a: 'Apple',
      b: 'Banana',
      c: 'Orange'
    }
  }
});

该示例会在页面上展示一个包含三个键值对的列表项。
运行结果:
在这里插入图片描述
注意:为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key

<div v-for="item in items" v-bind:key="item.id">
  <!-- 内容 -->
</div>

🍂v-model指令

model 是 Vue 中常用的指令之一,用于将表单元素的值和 Vue 实例中的数据绑定起来,实现双向数据绑定。

使用 v-model 的语法如下:

<input v-model="message">

其中,message 是 Vue 实例中的数据,可以是 data、computed 或 props 中的属性。

对于单选框和复选框等表单元素,v-model 还可以接受一个参数,如:

<input type="checkbox" v-model="checked">

对于单选框,checked 可以是布尔类型的数据;对于多选框,checked 可以是数组类型的数据。

在使用 v-model 绑定表单元素的值时,Vue 实例中的数据并不会立即更新,而是在表单元素的值发生变化并触发 input 事件时才会更新。如果需要在表单元素失去焦点时更新数据,则可以使用 v-model.lazy 修饰符。

另外,对于某些输入类型,例如 number、range 等,会将输入的字符串自动转换为对应的数据类型。如果需要绑定的数据不是字符串,可以使用 v-bind:value 显式地绑定输入框的值。

以下是 v-model 的一个示例:

<div id="app">
  <input v-model="message">
  <p>{{ message }}</p>
</div>
new Vue({
  el: '#app',
  data: {
    message: ''
  }
});

运行该示例,在输入框中输入文本,下方会实时显示输入的文本。
运行结果:
在这里插入图片描述

🌱v-model适用表单控件

v-model 指令适用于以下表单控件:

➡:包括文本输入框、密码输入框、复选框、单选框等。
➡:文本域输入框。
➡:下拉选择框。
自定义组件:如果自定义组件在内部使用了合适的输入控件,并且实现了 value 属性和 input 事件,那么也可以使用 v-model 来进行数据的双向绑定。
例如,可以使用 v-model 指令绑定以下表单控件:

<div id="app">
  <input type="text" v-model="username">
  <input type="password" v-model="password">
  <input type="checkbox" v-model="rememberMe">
  
  <textarea v-model="message"></textarea>
  
  <select v-model="selectedOption">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>
</div>
new Vue({
  el: '#app',
  data: {
    username: '',
    password: '',
    rememberMe: false,
    message: '',
    selectedOption: ''
  }
});

在上述示例中,v-model 指令分别绑定了文本输入框、密码输入框、复选框、文本域输入框和下拉选择框。在 Vue 实例中,可以通过相应的数据属性(username、password、rememberMe、message、selectedOption)来获取和更新表单控件的值

☘️结论

在 Vue 中,指针操作是实现响应式数据绑定的关键之一。通过合理地使用指针操作,可以轻松地实现数据的读取、修改和监听,从而创建出更加动态和交互的前端应用。同时,在使用指针操作时需要注意一些细节和注意事项,以确保代码的正确性和性能的优化。


🏫博客主页:魔王-T

🥝大鹏一日同风起 扶摇直上九万里

❤️感谢大家点赞👍收藏⭐评论✍️


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

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

相关文章

OKCC 客户中心

OKCC服务了这么多家客户中心&#xff0c;但很多小伙伴们其实并不是太了解客户中心的主要功能&#xff0c;那么我今天将从两类客户中心介绍下他们的主要功能。 一、 运营机构客户中心的功能 对于运营机构而言&#xff0c;客户中心的功能包括:能够帮助运营机构提升品牌形象&…

Chrome两个账号数据合并或者转移

文章目录 情况1情况2操作 情况1 「旧」账号&#xff1a;出于种种原因决定停用&#xff0c;但是账号里还有书签、历史记录、密码、设置等数据。 「新」账号&#xff1a;未来的主力账号。 需求是将「旧账号」的数据迁移到「新」账号之中。 情况描述&#xff1a;https://www.z…

openGauss学习笔记-134 openGauss 数据库运维-例行维护-检查操作系统参数

文章目录 openGauss学习笔记-134 openGauss 数据库运维-例行维护-检查操作系统参数134.1 检查办法134.2 异常处理 openGauss学习笔记-134 openGauss 数据库运维-例行维护-检查操作系统参数 134.1 检查办法 通过openGauss提供的gs_checkos工具可以完成操作系统状态检查。 前提…

Golang数据类型(字符串)

字符串重要概念 根据Go语言官方的定义&#xff1a; In Go, a string is in effect a read-only slice of bytes. 意思是Go中的字符串是一组只读的字节切片&#xff08;slice of bytes&#xff09;&#xff0c;每个字符串都使用一个或多个字节表示&#xff08;当字符为 ASCII 码…

医院室内导航解决方案:智慧医疗的重要组成部分

医院作为人们生活中不可或缺的一部分&#xff0c;面临着巨大的挑战。每天都有大量的患者前来就医&#xff0c;而医院内部的复杂结构和科室众多&#xff0c;常常让患者感到困惑和迷失。为了解决这个问题&#xff0c;医院室内导航解决方案应运而生&#xff0c;以其创新的技术和卓…

4G工业路由器智慧楼宇门禁无人值守、实时监控

门禁是我们日常生活中常见的基础设施&#xff0c;就像是现代社会智慧城市中的“门神”&#xff0c;在楼宇管理领域中普遍采用的安防卫士。4G工业路由器的物联网应用则为楼宇门禁管理带来了更加便捷和高效的解决方案。 在传统的楼宇门禁系统中&#xff0c;人员需要手动刷卡、输…

多个加速度计/麦克风连接指引

座舱内的振动投诉&#xff1a;如乘客/驾驶员在车厢内感受到传动轴、方向盘抖动剧烈 图1.三轴模式下的单个加速度计 图2.软件设置界面 如果您只有一个加速度计&#xff0c;可以在三轴模式下使用一个加速度计找出客户投诉车厢内振动最强烈的区域。例如将加速度计连接到驾驶员座椅…

PCIe学习必读——《PCI Express System Architecture》

PCI Express (peripheral component interconnect express) 简称 PCIe&#xff0c;是一种高速串行计算机扩展总线标准。是一种全双工总线&#xff0c;使用高速串行传送方式&#xff0c;能够支持更高的频率&#xff0c;连接的设备不再像 PCI 总线那样共享总线带宽。PCIe目前发布…

完美滤波器

完美滤波器 如下图所示&#xff0c;第 j j j级为输入图像&#xff0c;其中第 j − 1 j-1 j−1级为第 j j j级的尺寸减半的存在&#xff0c;直至为 1 1 1\times 1 11 的大小&#xff0c;这样的模式被称为图像金字塔 设原图像像素点个数为 N 2 N^2 N2&#xff0c;则图像金字塔的…

IP地址规划的基本方法与最佳实践

IP地址规划是建立网络基础设施的关键步骤之一&#xff0c;它涉及到为网络中的设备分配唯一的IP地址&#xff0c;确保网络的高效性和可管理性。本文将介绍IP地址规划的基本方法和最佳实践&#xff0c;以帮助网络管理员设计并维护高效的IP地址方案。 1. 了解网络拓扑结构&#x…

Java的字符流和字节流

Java的字节流&#xff1a;把数据从程序存储到文件&#xff0c;把数据从文件读取程序中 File&#xff1a;只操作文件和文件属性&#xff0c;createNewFile getPath--->项目目录 ,getAbsolutePath() getName()---->substring() list()-->列出当前目录的所有文件或文…

vue+less+style-resources-loader 配置全局颜色变量

全局统一样式后&#xff0c;可配置vue.config.js实现全局颜色变量&#xff0c;方便在编写时使用统一风格的色彩 一、新建global.less 二、下载安装style-resources-loader npm i style-resources-loader --save-dev三、在vue.config.js中进行配置 module.exports {pluginOpt…

架构图是什么,该怎么制作?

架构图是指可视化展示软件、系统、应用程序、网络等各种体系结构的一类图表或图形&#xff0c;它能够形象地展示体系结构中各个组成部分和它们之间的关系。 架构图的类型 架构图的种类比较多&#xff0c;逐一列举不太合适&#xff0c;这里只列举一些常见的架构图类型&#…

爬虫-基于python的旅游景点推荐系统的设计与实现-计算机毕业设计源码24044

摘 要 21世纪时信息化的时代&#xff0c;几乎任何一个行业都离不开计算机&#xff0c;将计算机运用于旅游景点管理也是十分常见的。过去使用手工的管理方式对旅游景点进行管理&#xff0c;造成了管理繁琐、难以维护等问题&#xff0c;如今使用计算机对旅游景点的各项基本信息进…

2021年2月16日 Go生态洞察:Go 1.16版本发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

CentOS 7 部署 Nacos (单机版)

CentOS 7 部署 Nacos &#xff08;单机版&#xff09; 1. 下载 Nacos 安装包 历史版本&#xff1a;https://github.com/alibaba/nacos/releases/ 我选的是 2.1.0 版本&#xff0c;https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz 2. …

2021年09月 Scratch图形化(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 程序中要使用不确定的数值,这时要用到的是?( ) A、图章 B、变量 C、广播 D、随机数 答案:D 第2题 执行下列程序后,角色会说?( ) A、3 B、6 C、10 D、15 答案:D 第3题…

现货白银怎样数点数?

由于数十倍资金杠杆的存在&#xff0c;现货白银投资者可以把很细微的行情波动&#xff0c;转化为相对显著的收益。但另一方面&#xff0c;现货白银交易过程中会难免会涉及一定的点差成本&#xff0c;所以投资者在入市之前&#xff0c;一定要清晰地知道自己需要能够拿下多少的行…

onlyoffice文件大小超出了服务器设置处理

onlyoffice文件大小超出了服务器设置处理 1.前言2. onlyoffice服务安装2.1 docker安装命令2.2 访问测试 3. 修改服务器文件大小限制方案3.1 旧方案-7.2版本不可行3.1.1 进入 OnlyOffice Document Server 容器3.1.2 编辑配置文件3.1.3 找到并修改文件大小限制3.1.4 保存并退出编…

封装一些可能会用到的JS的Dom操作方法(非JS自带的方法)

1. 父元素节点下的子元素节点逆序 HTMLElement.prototype.childRevers function () {var all_num this.childElementCount;if (all_num) {while(all_num--){this.appendChild(this.children[all_num]);}} } // 获取 ul 父节点对象 var oul document.getElementsByTagName(u…