当前位置: 首页 > news >正文

Vue组件-$refs、$nextTick和name属性的使用

Vue组件-$refs和$nextTick使用

  • 一、获取DOM
  • 二、$refs获取组件对象
  • 三、$nextTick异步更新DOM
  • 四、组件name属性的使用

一、获取DOM

通过id或ref属性获取原生DOM

  • 在mounted生命周期 – 2种方式获取原生DOM标签
    • 目标标签 – 添加id / ref
    • 恰当时机, 通过id / 通过ref属性 获取目标标签
      在这里插入图片描述
      在这里插入图片描述

二、$refs获取组件对象

通过ref属性获取组件对象

在这里插入图片描述

三、$nextTick异步更新DOM

  • $nextTick原地返回Promise对象

原因:Vue更新DOM是异步的

    -----html部分<p ref="myp">{{ count }}</p><button @click="btn">点击count+1,马上提取p标签的内容</button>-------js部分btn() {this.count++//vue检测数据更新,开启一个DOM更新队列(异步任务)//vue更新dom是异步代码console.log(this.$refs.myp.innerHTML);//0(还是默认data定义的0)}

等DOM更新后, 触发此方法里函数体执行

  • 语法: this.$nextTick(函数体)
btn() {this.count++//vue检测数据更新,开启一个DOM更新队列(异步任务)//vue更新dom是异步代码// console.log(this.$refs.myp.innerHTML);//0//解决方法 DOM更新完会挨个触发$nextTick里的函数体this.$nextTick(() => {console.log(this.$refs.myp.innerHTML);//})
}

扩展 可采用await 取代回调函数

	async btn() {//扩展 await取代回调函数//$nextTick函数 原地返回Promise对象await this.$nextTick()console.log(this.$refs.myp.innerHTML)}

四、组件name属性的使用

组件name可用作注册组件名字

  • 1. 组件定义name属性和值
    在这里插入图片描述
  • 2.注册组件可用上面name的值
    在这里插入图片描述
http://www.lryc.cn/news/31084.html

相关文章:

  • 【Spark】Spark的DataFrame向Impala写入数据异常及源码解析
  • 学习笔记-架构的演进之限流-3月day03
  • 动态规划 背包问题
  • C++ Primer Plus 学习笔记(四)—— 内存模型和名称空间
  • 详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain
  • 列表与数组的转化
  • docker 运行花生壳实现内外网穿透
  • 操作系统——16.时间片轮转、优先级、多级反馈队列算法
  • Python3.8.8-Django3.2-Redis-连接池-数据类型-字符串-list-hashmap-命令行操作
  • Android kotlin 系列讲解(进阶篇)高级项目架构模式 - MVVM
  • 8. 查找
  • 二分查找算法
  • Git(3)之远程服务器
  • Javalin解构
  • yolov5算法,训练模型,模型检测
  • linux系统防火墙开放端口
  • CSAPP第九章 虚拟内存
  • numpy数组与矩阵运算(二)
  • Dubbo 中 Zookeeper 注册中心原理分析
  • 素数产生新的算法(由筛法减法改为增加法)--哥德巴赫猜想的第一次实际应用
  • 递归-需要满足三个条件
  • 【剑指Offer-Java】两个栈实现队列
  • Allegro如何将Waived掉的DRC显示或隐藏操作指导
  • MATLAB——数据及其运算
  • 【微信小程序】-- 页面导航 -- 声明式导航(二十二)
  • gdb查看汇编代码的例子
  • 第四讲:如何将本地代码与服务器代码保持实时同步
  • cuda调试(一)vs2019-windows-Nsight system--nvtx使用,添加nvToolsExt.h文件
  • 向Spring容器中注入bean有哪几种方式?
  • 如何用 Python采集 <豆某yin片>并作词云图分析 ?