开发组件库时,遇到了一个坑,先看代码
methods:{handleClick(){this.$emit('input',!this.value)this.setColor()},
我在点击switch组件时,拿到value是true还是false,通过对value的值来给switch开关颜色,比如我给switch   false时是红色,true时为绿色。但是出现了一个问题,就是第一次点击时,颜色都是红色,当第二轮点击时才切换颜色,并且正好与我设置的颜色相反  false为绿色,true为红色了。
这是因为当我们点击的时候会让value发生改变,但是我们还没有接收到value值就调用setColor方法了,所以我们需要处理异步,先拿到value的值再调用getColor方法

解决方法一

       handleClick(){this.$emit('input',!this.value)setTimeout(()=>{this.setColor()})   },

解决方法二

 async handleClick(){this.$emit('input',!this.value)await this.$nextTick()this.setColor()   },
这样写的意思是数据修改后等待dom更新,再修改按钮的颜色,如果不用 this.$nextTick()的话我们就把希望的颜色反过来。

switch开关的async和await初体验相关推荐

  1. JS - 15 - 异步、Promise、async、await

    Promise 类似 java 的 Callable then 方法 类似 java 的 Future 下一篇: <JS - 16 - 任务调度.宏任务.微任务.轮询> PromiseA+ ...

  2. python gevent async_python的异步初体验(gevent、async、await)

    网络爬虫,这种io高密集型的应用由于大部分的时间在等待响应方面,所以CPU的使用率一直不高,速度也不快,为了解决这些问题,我们使用异步的方式来进行爬虫程序. 串行的时候,如果我们要爬一个网站,那么我们 ...

  3. 我的Go+语言初体验——(5)Go+ 基本语法之 Switch

    我的Go+语言初体验--(5)Go+ 基本语法之 Switch "我的Go+语言初体验" | 征文活动进行中- Go+ 语言中提供多路分支条件语句 switch, 用于在不同条件下 ...

  4. .NET WebSocket 核心原理初体验

    上个月我写了<.NET gRPC核心功能初体验>, 里面使用gRPC双向流做了一个打乒乓球的Demo, [实时][双向]这两个标签是不是很熟悉,对, WebSockets也可以做实时双向通 ...

  5. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  6. typescript在ES3(IE7)环境下使用async、await

    因为公司产品需要搞个Web App,但是又需要兼容IE7,这时候整个应用会非常复杂,尤其是在处理异步的时候,在我的选择中有两个方案 callback方案 async/await 经过衡量以后,决定使用 ...

  7. Polygon zkEVM的pil-stark Fibonacci状态机初体验

    1. 引言 前序博客: Polygon zkEVM 基本概念 第5章 "一个例子--Fibonacci state machine" 实操主要见: 2022年8月8日Jordi B ...

  8. .NET 6 之 ABP vNext 初体验

    马上国庆了,dotNative 预祝大家假期愉快,Happy National Day! 本文将介绍在 .net6 平台的 asp.net core webapi 框架中,如何使用 abp vnext ...

  9. 小程序 html编辑器,小程序富文本编辑器editor初体验

    终于,微信在5月9号的v2.7.0版本中新增了 editor富文本编辑器组件,今天有时间了准备体验一下 在5月6日的时候写了一篇小程序富文本解析的「伪需求」,从wxParse到towxml的坑,当时还 ...

最新文章

  1. AJAX 一些常用方法
  2. 线程基类的构建与代码实践
  3. shell shocked什么意思_shell脚本从入门到放弃
  4. EmberJS路由详解
  5. html中的标签在xml中被识别为什么,在strings.xml中定义html标签
  6. 1024,如果全世界程序员都消失了,会怎样?
  7. 大数据“跨界”文化金融
  8. 编程计算机教小明加法,Python校本课程第四课——教案
  9. java中的抽象类(abstract)
  10. New Concept English Two 5
  11. 干货|java缓存技术详解
  12. linux开启磁盘多队列(blk-mq)
  13. java实现excel转换pdf
  14. java d打字游戏_练习--java实现的打字游戏
  15. C语言算一维数组均值和标准差(随机生成数组0~100)
  16. JavaScript大作业 (校园运动会网站设计与实现)
  17. 一文搞清楚 DNS 的来龙去脉
  18. C语言—实现扫雷游戏(注释详解)
  19. android 拍照 华为,【华为MateRS保时捷版评测】拍照:徕卡三摄登顶DxOMark名副其实_华为 Mate RS保时捷版_手机评测-中关村在线...
  20. 【转】JPEG压缩原理

热门文章

  1. Android Things:用户驱动-输入驱动
  2. IDEA :Windows找不到文件“chrome”。请确定文件名是否正确,再试一次
  3. Windows找不到文件wt.exe怎么办?
  4. modbus-rtu和modbus-tcp和modbus-rtu-Over-tcp/ip
  5. Luogu_P4766 [CERC2014]Outer space invaders【题解】区间DP
  6. 数据恢复顾问(DRA)
  7. dra7xx cpu frequency change
  8. NetFIlter详解
  9. 自动缩放文字的TextView
  10. 电脑配音配音软件哪个好用?推荐3个好用软件