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

vue学习day08-v-model详解、sync修饰符、ref和$refs获取dom组件、Vue异步更新和$nextTick

25、v-model详解

(1)v-model原理

1)原理:

v-model本质上是一个语法糖,比如:在应用于输入框时,就是value属性与input事件的合写。

2)作用
①数据变,视图变
②视图变,数据变

注:在模版中,$event用于获取时间的形参

3)示例:

(2)表单类组件封装与v-model简化代码

1)父传子:数据应该是父组件props传过来的,v-model拆解绑定数据
2)子传父:监听输入,子传父传值给父组件修改

简言之:利用父子通信实现v-model的效果(子组件不能使用v-model,因为数据是父组件的)

3)示例

初始:

①父传子

效果:

②子传父

初始(续上):

结果:

(3)父组件使用v-model简化代码,实现父组件和子组件数据的双向绑定

1)子组件中:props通过value进行接收,事件触发input

2)父组件中:v-model给组件直接绑数据(:value+@input)

原来:

用v-model:

3)效果(和原来一样,代码用v-model进行简化):

26、sync修饰符

(1)作用:可以实现子组件与父组件数据的双向绑定,简化代码

(2)特点:prop属性名,可以自定义,非固定值value

(3)适用场景:封装弹框类的基础组件,visible属性,true显示,false隐藏

(4)本质::属性名+@update:属性名的合写

(5)示例:

1)父传子

父组件:

2)子传父

子组件:

父组件:

③效果:

27、ref和$refs获取dom组件

(1)作用:利用ref和$refs可以用于获取dom元素,或组件实例

(2)特点:查找范围,当前组件内(更精确稳定)

(3)语法:

1)获取dom:
①给目标标签添加ref属性
②恰当时机,通过this.$refs.属性名,获取目标标签
2)获取组件
①给目标标签添加ref属性
②恰当时机,通过this.$refs.属性名,获取目标组件,就可以调用组件里的方法
③示例:

父组件通过ref属性获取子组件的值,并重置其值

代码:

结果:

获取:

28、Vue异步更新和$nextTick

(1)要点:通过$nextTick解决Vue异步更新问题

(2)示例:

点击之后,改变为输入框,并获取焦点

——>

源代码:

1直接使用this.&refs.ipt添加焦点,发现不仅未获取焦点,并报错(Vue异步更新,dom更新未完成)

2使用setTimeout,可以解决问题,但时间估计不一定准确

3使用 this.$nextTick,发现几乎没有延迟

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++】——入门基础
  • VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?
  • MVC 生成验证码
  • 代码随想录算法训练营第11天
  • 知识图谱研究综述笔记
  • 根据vue学习react
  • Halcon机器视觉15种缺陷检测案例_2不均匀表面刮伤检测
  • VS编译和使用modbus库
  • Typescript 的联合类型和交叉类型
  • 【C++语言】正则表达式
  • 主机安全-进程、命令攻击与检测
  • 哪些事件会导致浏览器窗口宽高变化
  • 使用jsencrypt在web前端对字符串进行Ras加密
  • MySQL 日志深度解析:从查询执行到性能优化
  • 从零开始实现大语言模型(五):缩放点积注意力机制
  • [译] React v16.8: 含有Hooks的版本
  • JavaScript 一些 DOM 的知识点
  • Leetcode 27 Remove Element
  • Mocha测试初探
  • Mysql数据库的条件查询语句
  • Sequelize 中文文档 v4 - Getting started - 入门
  • socket.io+express实现聊天室的思考(三)
  • Spring Cloud中负载均衡器概览
  • storm drpc实例
  • 记录:CentOS7.2配置LNMP环境记录
  • 技术:超级实用的电脑小技巧
  • 前嗅ForeSpider中数据浏览界面介绍
  • 深度学习入门:10门免费线上课程推荐
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 你对linux中grep命令知道多少?
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​configparser --- 配置文件解析器​
  • %check_box% in rails :coditions={:has_many , :through}
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四)事件系统
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET CLR Hosting 简介
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core中Emit的使用
  • .NET 分布式技术比较
  • .Net6 Api Swagger配置
  • .NET下ASPX编程的几个小问题
  • @Resource和@Autowired的区别
  • @我的前任是个极品 微博分析
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解