我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue $set 实现给数组集合对象赋值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue $set 实现给数组集合对象赋值

vue $set 数组集合对象赋值

在vue自定义数组对象集合中,想要给每个数组对对象再添加一个属性和值。


// data定义一个集合对象
responseData:[
      {'id':'1','name':'女装','price':115,'num':1,'pic':'../static/img/1.jpg'},
      {'id':'2','name':'男装','price':110,'num':1,'pic':'../static/img/2.jpg'},
      {'id':'3','name':'童装','price':118,'num':2,'pic':'../static/img/3.jpg'}
],

// vue方法请求返回集合对象数据
if(res.data.code === 'ok'){
 that.totals = res.data.data.total;
 that.questionList = res.data.data.list;
 
}

// 赋值操作
for(let val of that.questionList){
//此处为重点
hat.$set(val,'discussAnswer','0');
}

Vue this.$set的用法

解决数组、对象修改后不更新问题

一、this.$set实现什么功能,为什么要用它?

当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。

官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = ‘hi').

二、怎么用它?

举个例子:

1.Vue写在template中的代码:


<div v-for="(item,index) in list" :key="index"
>{{item.name}}
</div>
<button @click="changeValue" type="primary">改变值</button>
</div>

2.export default{}中data数据


data(){
    return {
      list:[
        {name:'29Kun',id:1},
        {name:'299Kun',id:2},
      ]
    } 
  } 

3.点击按钮触发changeValue方法


mounted(){
  this.list[2] = {name:'2999Kun',id:3}
  console.log(this.list[0]);
}, 
methods: {
  changeValue(){
    this.$set(this.list,2,{name:'2999kun',id:3})
  }
}

调用方法:this.$set( target, key, value )

target:要更改的数据源(可以是对象或者数组)

key:要更改的具体数据

value :重新赋的值

4.在没有点击按钮的时候,界面是这样的,虽然界面没有显示出来,但是控制台已经打印出来了

在这里插入图片描述

在这里插入图片描述

5.当点击按钮的时候,调用this.$set方法,成功显示第三个属性。

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue $set 实现给数组集合对象赋值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue $set如何实现给数组集合对象赋值

本篇内容主要讲解“vue $set如何实现给数组集合对象赋值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue $set如何实现给数组集合对象赋值”吧!vue $set 数组集合对象赋值在vu
2023-06-20

vue中$set怎么给数组集合对象赋值

这篇文章主要讲解了“vue中$set怎么给数组集合对象赋值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中$set怎么给数组集合对象赋值”吧!vue $set 数组集合对象赋值在vue
2023-07-04

vue怎么给数组添加新对象并赋值

这篇文章主要介绍了vue怎么给数组添加新对象并赋值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么给数组添加新对象并赋值文章都会有所收获,下面我们一起来看看吧。给数组添加新对象并赋值方法一适用于数组就只
2023-06-30

java反射给对象属性赋值怎么实现

Java反射可以通过`java.lang.reflect.Field`类来给对象的属性赋值。以下是一个示例代码:import java.lang.reflect.Field;public class Main {public static
2023-10-27

MyBatis拦截器:给参数对象属性赋值的实例

该拦截器的作用:在进行增加、修改等操作时,给数据模型的一些通用操作属性(如:创建人、创建时间、修改人、修改时间等)自动赋值。该实现是在DAO层拦截,即存入DB前最后一层。后经分析,不是很合理,改为在service层拦截,用spring AO
2023-05-31

js深度合并两个数组对象的实现

这篇文章主要介绍了js深度合并两个数组对象的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-03

vue怎么实现跨页面传递与接收数组并赋值

今天小编给大家分享一下vue怎么实现跨页面传递与接收数组并赋值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。跨页面传递与接收
2023-06-30

如何实现Visual Basic 10中的集合与数组初始值设定

这篇文章给大家介绍如何实现Visual Basic 10中的集合与数组初始值设定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。伴随.NET 4.0和Visual Studio 2010的发布,Visual Basic
2023-06-17

springboot读取yml文件中的list列表、数组、map集合和对象方法实例

在平时的yml配置文件中,我们经常使用到配置基本数据类型的字符串,下面这篇文章主要给大家介绍了关于springboot读取yml文件中的list列表、数组、map集合和对象的相关资料,需要的朋友可以参考下
2023-02-24

编程热搜

目录