七、ref引用与数组的常用方法

news2024/12/24 8:40:14

一、ref 引用

1.1、什么是 ref 引用

ref 用来辅助开发者在不依赖于jQuery的情况下,获取 DOM 元素或组件的引用。
每个vue的组件实例上,都包含一个$refs对象,里面存储着对应的 DOM 元素或组件的引用。默认情况下,组件的$refs指向一个空对象
在这里插入图片描述

1.2、使用ref引用 DOM 元素

如果想要使用 ref 引用页面上的 DOM 元素,则可以按照如下的方式进行操作:
在这里插入图片描述
在这里插入图片描述

1.3、使用ref引用组件实例

如果想要使用ref引用页面上的组件实例,则可以按照如下的方式进行操作:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.4、控制文本框和按钮的按需切换

通过布尔值inputVisible来控制组件中的文本框与按钮的按需切换。示例代码如下:
在这里插入图片描述在这里插入图片描述

1.5、让文本框自动获取焦点

当文本框展示出来之后,如果希望它立即获得焦点,则可以为其添加ref引用,并调用原生 DOM 对象的 .focus()方法即可。示例代码如下:
在这里插入图片描述在这里插入图片描述

1.6、this.$nextTick(cb)方法

组件的$nextTick(cb)方法,会把 cb 回调 推迟到下一个 DOM 更新周期之后执行。通俗的理解是:等组件的 DOM 更新完成之后,再执行 cb 回调函数。从而能保证 cb 回调函数可以操作到最新的 DOM 元素。
在这里插入图片描述在这里插入图片描述

二、数组的常用方法

2.1、forEach()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const arr = ['张三','李四','王五','赵六']
        // forEach 循环一旦开始,无法在中间被停止
        arr.forEach((item, index) => {
            console.log(item)
            if(item === '王五') {
                console.log(index)
            }
        })
    </script>
</body>
</html>

在这里插入图片描述

2.2、some()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const arr = ['张三','李四','王五','赵六']
        arr.some((item, index) => {
            console.log(item)
            if(item === '王五') {
                console.log(index)
                // 在找到对应的项之后,可以通过 return true 固定的语法,来终止 some 循环
                return true
            }
        })
    </script>
</body>
</html>

在这里插入图片描述

2.3、every()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const arr = [
            { id: 1, name: '西瓜', state: true },
            { id: 2, name: '榴莲', state: false },
            { id: 3, name: '草莓', state: true },
        ]

        // 需求:判断数组中,水果是否被全选了!
        const result = arr.every(item => item.state)
        console.log(result)
    </script>
</body>
</html>

在这里插入图片描述

2.4、filter()方法

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const arr = [
      { id: 1, name: '西瓜', state: true, price: 10, count: 1 },
      { id: 2, name: '榴莲', state: false, price: 80, count: 2 },
      { id: 3, name: '草莓', state: true, price: 20, count: 3 },
    ]

    // 需求:把购物车数组中,已勾选的水果,总价累加起来!
    let amt = 0 // 总价
    arr.filter(item => item.state).forEach(item => {
        amt += item.price * item.count
    })
    console.log(amt)
    
  </script>
</body>

</html>

在这里插入图片描述

2.5、reduce()方法

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const arr = [
      { id: 1, name: '西瓜', state: true, price: 10, count: 1 },
      { id: 2, name: '榴莲', state: true, price: 80, count: 2 },
      { id: 3, name: '草莓', state: false, price: 20, count: 3 },
    ]
    // arr.filter(item => item.state).reduce((累加的结果, 当前循环项) => { }, 初始值)
    const result = arr.filter(item => item.state).reduce((amt, item) => amt += item.price * item.count, 0)
    console.log(result)

  </script>
</body>

</html>

在这里插入图片描述

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

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

相关文章

语音识别芯片LD3320介绍

语音识别芯片LD3320简介 LD3320 芯片是一款“语音识别”芯片,集成了语音识别处理器和一些外部电路&#xff0c;包括AD、DA 转换器、麦克风接口、声音输出接口等。LD3320不需要外接任何的辅助芯片如Flash、RAM 等&#xff0c;直接集成在LD3320中即可以实现语音识别/声控/人机对…

黑*头条_第6章_kafka及异步通知文章上下架(新版)

黑*头条_第6章_kafka及异步通知文章上下架(新版) 文章目录黑*头条_第6章_kafka及异步通知文章上下架(新版)1)自媒体文章上下架2)kafka概述3)kafka安装配置4)kafka入门5)kafka高可用设计5.1)集群5.2)备份机制(Replication&#xff09;6)kafka生产者详解6.1)发送类型6.2)参数详解…

Linux|Ubuntu-18.04上安装discord(二进制安装)

前言&#xff1a; Discord是由两个沉迷游戏的玩家为了解决游戏种玩家交流问题而开发的一个语音聊天软件&#xff0c;它从游戏社交起家。 起初&#xff0c;Discord被定义为“永远在线的聊天室”&#xff0c;专门为游戏玩家设计&#xff0c;可以简单快捷的加入或退出某个群聊进…

【图像去雾】颜色衰减先验图像去雾【含Matlab源码 2036期】

⛄一、颜色衰减先验去雾算法简介 2015年Zhu等的颜色衰减先验去雾算法利用颜色衰减先验建立有雾图像的景深模型, 采用有监督学习的方式得到模型的参数, 结合大气散射模型得到去雾图像。具体内容如下: 1 大气散射模型 Zhu等的颜色衰减先验去雾算法利用计算机视觉和图形图像领域…

大开眼界的4款电脑软件,其中3款大小不到10M,功能却逆天

闲话少说&#xff0c;直上狠货&#xff0c;大开眼界。 1、Ocam录屏 Ocam是一款完全免费的录屏软件&#xff0c;大小仅有9M&#xff0c;功能却非常强大&#xff0c;界面简洁&#xff0c;操作简单一键录制&#xff0c;4k分辨率视频录制时&#xff0c;即便办公电脑配置不高&#x…

我国海洋油气行业勘探力度加大 整体探明程度有待提高 未来储量产量增长潜力仍很大

1、我国海洋油气资源储量情况 根据观研报告网发布的《2022年中国海洋油气市场分析报告-市场发展监测与发展动向预测》显示&#xff0c;根据全国第四次油气调查数据&#xff0c;海洋石油剩余技术可采储量占中国石油剩余技术可采储量的34%&#xff1b;海洋天然气剩余技术可采储量…

二叉搜索树详解

1.二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值若它的右子树不为空&#xff0c;则右子树上所有的节点的值都大于根节点…

执行pip安装时,如何解决:Unknown or unsupported command install

目录 解决方案1&#xff1a;卸载LoadRunner——显然是不可行的 解决方案2&#xff1a;全路径执行pip 解决方案3&#xff1a;镜像 解决方案4&#xff1a;镜像更新 遇到这种情况一般都是因为已经安装了LoadRunner导致电脑上同时安装了多个pip&#xff0c;执行时&#xff0c;系…

LabVIEW如何以编程方式获取克隆VI名称?

LabVIEW如何以编程方式获取克隆VI名称&#xff1f;如何使用克隆VI名称关闭特定的克隆VI&#xff1f; 调用正在运行的VI服务器引用。 放置一个调用节点&#xff0c;然后选择“打开”前面板>>。 使用属性节点检查VI是否为克隆VI>>。 使用属性节点>>克隆名称…

Java安全--CC2

cc2其实都是建立在我们写的基础之上&#xff0c;只不过路走的不一样罢了&#xff0c;我们可以看一下CC2是怎么走的&#xff0c;我用颜色标出了&#xff1a; 其实就是之前都学过的几个类。 前面代码都和CC4一样 public class CC2 {public static void main(String[] args) thro…

2023春招面试题:Java并发相关知识

1.基础知识回顾 1.1 什么是多线程&#xff1f; 在没有线程的年代&#xff0c;在同一个进程中&#xff0c;程序的处理流程都是顺序的&#xff0c;下一个流程的开始必须等待上 一个流程的结束&#xff0c;如果其中某一个流程非常耗时&#xff0c;那么会影响整个流程的处理时间…

学习.NET MAUI Blazor(一)、Blazor是个啥?

先把Blazor放一边&#xff0c;先来看看目前Web开发的技术栈。 注&#xff1a;上图只是为了说明问题&#xff0c;没有任何语言歧视&#xff01; 这是目前最常用的前后端分离开发模式&#xff0c;这个开发模式需要配备前端工程师和后端工程师。当然了&#xff0c;全栈工程师另当…

GNN Algorithms(2): GCN, Graph Convolutional Network

GCN Algorithm Essence: 传统的卷积运算无法在graph上进行运算&#xff0c;所有借由傅里叶变换Fourier Transformation实现在graph上的卷积运算&#xff0c;得到graph convolution&#xff0c;退出GCN(graph convolutional network)。 Background graph embedding&#xff1…

mysql优化——mycat数据库中间件

文章目录 目录 文章目录 前言 一、mycat原理 二、mycat完成读写分离 2.1搭建MySQL的主从模式 2.2实现读写分离 三、mycat垂直分库 四、水平分表 五、水平拆分表的连表操作 六、全局表 总结 前言 Mycat是数据库中间件,所谓中间件,是一类连接软件组件和应用的计算机软件,以…

CUDA入门和网络加速学习(三)

0. 简介 最近作者希望系统性的去学习一下CUDA加速的相关知识&#xff0c;正好看到深蓝学院有这一门课程。所以这里作者以此课程来作为主线来进行记录分享&#xff0c;方便能给CUDA网络加速学习的萌新们去提供一定的帮助。 1. CUDA中的Stream和Event 1.1 CUDA stream CUDA s…

蓝桥杯C/C++百校真题赛(1期)Day4题解(左孩子右兄弟、作物杂交)

Q1 左孩子右兄弟 f[u]表示以u为根转化而成的二叉树&#xff08;以下简称二叉树)的最大高度f[u]max(f[ji])cnt[u]−11,ji是u的所有儿子&#xff0c;cnt[u]表示原树中u的儿子个数。因为以u为根的二叉树肯定由u的一个儿子为根的二叉树构成来作为他的左半部假设f[jt]是最大的那个,那…

A Joint Neural Model for Information Extraction with Global Features论文解读

A Joint Neural Model for Information Extraction with Global Features code&#xff1a;BLENDER Lab | Software (illinois.edu)或者GerlinGreen/OneIE: Forked from OneIE: A Joint Neural Model for Information Extraction with Global Features (github.com) paper&…

超宽带UWB无线技术,厘米级测距定位,精准位置确定方案应用

UWB标签和锚点之间的双向测距测量它们的相对距离&#xff0c;这种方法用于例如安全访问应用程序&#xff0c;其中将根据标签设备的接近程度授予访问权限。 UWB不能被简单的中继攻击欺骗&#xff0c;因为它的距离测量不是基于信号强度&#xff0c;而是基于时间&#xff0c;中继…

git初识(四)

rebase(变基) 它能让git提交记录简洁 多个记录整合成一个记录 git rebase -i HEAD~3从最新记录开始依次找3条记录进行合并 git rebase -i 版本号从该版本号开始一直合并到最新记录 在做记录合并时&#xff0c;建议不要和已push到仓库的记录 beyond compare 在git的使用过程…

我国盆栽蔬菜行业发展势头向好 未来市场需求将保持持续攀升态势

盆栽蔬菜是指在花盆或其他容器内种植的蔬菜&#xff0c;供人观赏和采摘食用。盆栽蔬菜分为观果类蔬菜、彩色蔬菜、绿叶保健蔬菜、根茎类蔬菜等几类。其中观果类蔬菜包括彩色甜椒、矮生番茄、樱桃番茄、硬果番茄、观赏茄子、小型辣椒、袖珍西瓜及各种南瓜、甜瓜、西葫芦、黄秋葵…