this.$set()使用方法,详细教学(vue项目中this.$set()的妙用)

这篇具有很好参考价值的文章主要介绍了this.$set()使用方法,详细教学(vue项目中this.$set()的妙用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介:this.$set 是Vue中的一个实例方法,用于在响应式对象上设置新的属性或修改已有的属性,并确保这些属性也是响应式的。

使用this.$set 可以解决Vue响应式系统的一个限制,即无法检测到通过索引直接设置数组元素或通过Object.defineProperty添加的属性的变化,所以通过this.$set 方法,可以显式地告诉Vue,某个属性的值已经发生了变化,从而触发视图的更新。

一、对象 使用this.$set(),修改和新增

定义数据对象:
obj: { name: "小明", age: 18, },        

基本语法:
this.$set(需要改变的对象,"需要改变的对象属性","新值")

1、对象修改

this.$set(this.obj, "name", "小刘"); 

控制台输出:obj: { name: "小刘", age: 18, },

2、对象新增

this.$set(this.obj, "hobby", "study");

控制台输出:obj: { name: "小明", age: 18, hobby: "study"},  

3、对象新增未知属性(这里的item是传递的参数,不带引号,"reading"是参数值)


this.$set(this.obj, item, "reading");

二、数组 使用this.$set(),修改和新增

定义数组包对象:
arr: [                                           
  { name: "小王", age: 18 },
  { name: "小张", age: 20 },
 ],

定义普通数组:       
twoArr: [11, 22, 33, ],                          

基本语法:
this.$set(需要修改的数组,需要修改的数组下标,{ "要修改的数组对象,一个/多个" })

1、数组修改

修改数组对象:
this.$set(this.arr, 1, { name: "小王", age: 19 });
          
控制台输出:arr: [ { name: "小王", age: 18 },{ name: "小王", age: 19 }, ],
修改普通数组:
this.$set(this.twoArr, 0, 99);    
   
控制台输出:twoArr: [99, 22, 33, ],   

2、数组新增

(1)首先需要获取新增的数组长度:

let reslg = this.arr.length;  

(2)然后添加在数组末尾:

this.$set(this.arr, reslg,{ name: "小紫", age: 18 },);

控制台输出:
arr: [ 
        { name: "小王", age: 18 },
        { name: "小张", age: 20 },
        { name: "小紫", age: 18 },
     ],

三、同理,执行删除操作时,对象或数组不更新时可以使用this.$delete

基本语法:

this.$delete(this.obj, "name")

this.$delete 也是一个实例方法,用于从响应式对象中删除属性,并确保该操作也是响应式的。

使用this.$delete 可以解决Vue响应式系统的另一个限制,即无法检测到通过索引直接删除数组元素的变化。通过this.$delete 方法,可以显式地告诉Vue,某个属性已经被删除,从而触发视图的更新。文章来源地址https://www.toymoban.com/news/detail-551774.html

补充:使用时,注意双引号("")的使用!

到了这里,关于this.$set()使用方法,详细教学(vue项目中this.$set()的妙用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue中this.$set()的使用场景和用法以及与Vue.set()的区别

    目录 1.this.$set()的使用场景 2.this.$set()的用法 3.this.$set()和Vue.set()的区别    Vue声明在data中的属性都是响应式的,也就是,我们在修改data中的属性时,一般页面都能实时更新。但是由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。比如我们对data中的对象属性和数组属性进

    2024年02月13日
    浏览(29)
  • 【Vue】Vue中mixins的使用方法及实际项目应用详解

    (1)mixin基础 官网解释(Vue2.x): 混入(mixin)提供了一种非常灵活的方式,来分发Vue组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。 如何理解mixins?我们可以将mixins理解成一

    2023年04月09日
    浏览(45)
  • C#的 Settings.Settings配置文件的使用方法

    1、定义 在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改(用户范围的字段数据更改存储在用户信息中,不在该程序文件中),Applicatiion则运行时不可更改。可以使用数据网格视图(VS软件的Properties 下面的Setting.settings设置即可),很方便; 2、读取配置

    2024年02月22日
    浏览(30)
  • Vue 项目路由、自定义指令、api方法自动引入资源(require.context使用)

    require.context(directory,useSubdirectories,regExp) 1:directory:哪个文件夹 2:useSubdirectories:是否需要找到子文件夹 3: regExp:正则表达式(一般指文件的后缀) 以下是单个js文件 接口的命名不能重复。 如果项目较大,建议接口命名需要有一个统一的规范来避免出现命名重复的问题

    2024年02月16日
    浏览(29)
  • uniapp中使用pinia (针对于uniapp创建vue3项目,uniapp创建vue2项目此方法不可用)

    如果新建项目,先初始化一下 名字自己定我的是pinia-store,在目录下新建index.js和login.js,代码如下 index.js 这是需要被main.js引用的 如同与vue3项目中index.ts中引入的pinia 再建一个存储状态的文件(login.js) 4 main.js中的修改 在vue组件中就可以操作pinia中存储的状态的和一系列操作了

    2024年02月11日
    浏览(46)
  • 数据结构,Map和Set的使用方法

    在数据结构中我们经常会使用到 Map 和 Set ,Map 和 Set 到底是什么,它怎样去使用呢?因此博主整理出 Map 和 Set 这两个接口的介绍与使用方法。 目录 1. 啥是Map和Set? 1.1 Map和Set的模型 2. Map的使用 2.1Map的说明 2.2 Java中Map常用的方法 3. Set的使用 3.1Java中Set的常用方法  Map 和 Set

    2023年04月26日
    浏览(32)
  • 【C#】当重复使用一段代码倒计时时,使用静态类和静态方法,实现简单的this扩展方法

    欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平有限

    2024年01月19日
    浏览(32)
  • 【我与Java的成长记】之this引用和构造方法的使用详解

    能看懂文字就能明白系列 C语言笔记传送门 🌟 个人主页 :古德猫宁- 本节目标: 掌握this引用,构造方法的定义及其使用 本节重点: 都是重点 先看一个例子: 以上代码定义了一个日期类,然后main方法中创建了三个对象,并通过Date类中的成员方法对对象进行设置和打印,代

    2024年02月04日
    浏览(26)
  • VUE+Element UI项目中使用el-table出现的内容块左右抖动问题解决方法

    el-table中出现的抖动问题 为了提高项目中组件的复用性,一般我们都会使用 v-if 或 v-show 加在 el-table-column 上来实现不同场景下页面内容的展示 现象描述 页面渲染出表格以及表格中的所有内容,当触发表格中的自定义点击事件或者切换tab页时,表格里面的单元格和内容行就会

    2024年02月06日
    浏览(41)
  • IDEA使用lombok实体类加上@Data注解后无法找到get和set方法

    IDEA没有安装lombok插件 重启完成后测试是否能正常调用get和set方法,如果不行如下图启用注释处理

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包