热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vuethis.$set(对象,对象参数,参数值)赋值后,视图不渲染的问题解决

问题出现场景:电商小程序的购物车页面,当选中某一个店铺时,该店铺中所有的商品都要选中,取消店铺的选中时,店铺中

问题出现场景:
在这里插入图片描述
电商小程序的购物车页面,当选中某一个店铺时,该店铺中所有的商品都要选中,取消店铺的选中时,店铺中的所有商品都要取消选中。

html结构

在这里插入图片描述
checkbox是多选框,具体样式是方形的,为了能够实现圆形,可以在checkbox组件外面的标签中添加checkbox-round的class样式。

<checkbox :checked&#61;"shop.checked" style&#61;"transform:scale(0.7)" &#64;click&#61;"selectShop($event,shop)"/>

解释一下&#xff1a;

  1. checked 根据shop.checked参数来展示选中或者未选中
  2. style是行间样式&#xff0c;圆圈缩小为原来的0.7
  3. click监听复选框的点击事件&#xff0c;默认的第一个参数都是e&#xff0c;就是点击事件本身&#xff0c;第二个参数可以传递数据

selectShop(e,obj){// e代指点击事件本身&#xff0c;obj就是传递的参数。const checked &#61; !obj.checked;for (let i in obj.list) {obj.list[i].forEach(item &#61;> {if (item.specSelected[0].stock) {item.checked &#61; checked;} else {item.checked &#61; false;}})}// 此处通过this.$delete先删除对象中的某个参数&#xff0c;然后再通过this.$set进行赋值&#xff0c;才能够实现视图渲染this.$delete(obj,&#39;checked&#39;);this.$set(obj,&#39;checked&#39;,checked);for (let i in this.shopList) {this.shopList[i].shoppingCartVoList.every(item2 &#61;> {if(!item2.checked){this.allChecked &#61; false;return true;}else{this.allChecked &#61; true;}})}this.calcTotal();
},

知识点如下&#xff1a;

视图渲染问题

在vue的使用过程中&#xff0c;如果需要修改视图中的某个值&#xff0c;一般可以通过直接赋值来实现。
如果针对的是对象中的某个值&#xff0c;可以通过this.$set()的方式来处理。

this.$set()赋值后视图不渲染

this.$set(obj,&#39;checked&#39;,true);这段代码的意思就是&#xff1a;将obj对象中的checked参数更改为true.
但是视图并没有发生改变。

this.$delete()解决this.$set()视图不渲染的问题

百度一番后&#xff0c;发现可以通过this.$delete()先将对象中的某个值删除&#xff0c;然后再通过this.$set()的方式来进行赋值&#xff0c;即可达到视图渲染的效果。


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • PHP小习题:PHP小练习题前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用php语言设计一个小程序,计算今天到达下月的天数、全部输出这些天数,并使得每天的日期以三种颜 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 如何在elementui table 内容里面放多选框?
    本文介绍了如何在elementui的table组件中放置多选框的方法,并提供了相应的代码示例和UI图效果。通过阅读本文,你将了解如何将UI图中的多选框放到表格内容中,并实现相应的功能。 ... [详细]
  • 项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ... [详细]
  • 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面
    我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细]
  • 有几百条数据类似*Oct1809:46:09:%NFPP_IP_GUARD-4-DOS_DETECTED:Host<IP60.12.174.45,MACNA,portGi2 ... [详细]
author-avatar
只是遇不到他_740
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有