返回顶部
首页 > 资讯 > 精选 >vue中this.$set怎么用
  • 254
分享到

vue中this.$set怎么用

2023-06-25 15:06:46 254人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关Vue中this.$set怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue中 this.$set的使用背景:在我写前端项目的时候,后端给我们的一个JSON对象,并且我已经渲染在

这篇文章给大家分享的是有关Vue中this.$set怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    vue中 this.$set的使用

    背景:在我写前端项目的时候,后端给我们的一个JSON对象,并且我已经渲染在页面上了。但是由于我自己的需求,想往返回的对象里面添加一个字段,于是我用push一个字段进去,添加是添加进去了,但是页面渲染却没有变化。后来才意识到不是响应式的。如果我们要让这个新字段是响应式的,就要使用到this.$set来注入数据

    当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。

    使用

    this.$set( target, key, value)

    target:表示数据源,即是你要操作的数组或者对象

    key:要操作的的字段

    value:更改的数据

    来个小案例:

    给一个对象添加一个年龄属性并且让它可以响应式的进行改变

    vue中this.$set怎么用

    <template>  <div class="text">      <p>{{list}}</p>      <button @click="add">age++</button>  </div></template><script>export default {    data(){        return {            list:{ name: "张三"}        }    },    methods: {        add(){            if(!this.list.age){ // 如果没有age属性就给它添加一个age属性                this.list.age=18            }else{                this.list.age++            }            console.log(this.list)        }    }}</script>

    当我们没有使用this.$set去添加对象属性的时候,效果:

    数据确实已经添加进去了,但是页面并没有响应式的渲染age属性。

    vue中this.$set怎么用

    当我们使用this.$set(this.list,‘age',18)去添加一个属性之后。效果:

    vue中this.$set怎么用

    我们能看见添加的数据是响应式的。

    为什么能够响应式?

    仔细观察一下,使用了this.$set 多了get age和set age方法,这正是能够响应式的原因

    vue中this.$set怎么用

    分析

    Vue的响应式原理为 javascript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 能够追踪依赖,在 property 被访问和修改时通知变更。这里需要注意的是不同浏览器在控制台打印数据对象时对 getter/setter 的格式化并不同,下图来自官方文档。

    vue中this.$set怎么用

    感谢各位的阅读!关于“vue中this.$set怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    --结束END--

    本文标题: vue中this.$set怎么用

    本文链接: https://lsjlt.com/news/305765.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • vue中this.$set怎么用
      这篇文章给大家分享的是有关vue中this.$set怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue中 this.$set的使用背景:在我写前端项目的时候,后端给我们的一个json对象,并且我已经渲染在...
      99+
      2023-06-25
    • Vue中的Vue.set和this.$set怎么使用
      这篇文章主要介绍“Vue中的Vue.set和this.$set怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中的Vue.set和this.$set怎么使用”文章能帮助大家解决问题。一、...
      99+
      2023-06-29
    • vue中 this.$set的使用详解
      目录vue中 this.$set的使用使用为什么能够响应式?分析总结vue中 this.$set的使用 背景:在我写前端项目的时候,后端给我们的一个json对象,并且我已经渲染在页面...
      99+
      2024-04-02
    • 关于Vue中this.$set的正确使用
      this.#set(obj, key, value) 我们在项目开发的过程中,经常会遇到这种情况:为data中的某一个对象添加一个属性 <template> <...
      99+
      2022-12-09
      this.$set的使用 vue this.$set
    • Vue中使用this.$set()怎么新增数据并更新视图
      本文小编为大家详细介绍“Vue中使用this.$set()怎么新增数据并更新视图”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中使用this.$set()怎么新增数据并更新视图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
      99+
      2023-07-02
    • Vue报TypeError: this.$set is not a function错误怎么办
      这篇文章主要为大家展示了“Vue报TypeError: this.$set is not a function错误怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习...
      99+
      2024-04-02
    • vue $set怎么使用
      这篇文章主要讲解了“vue $set怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue $set怎么使用”吧!代码如下:<!-- 操作 -->&nb...
      99+
      2023-07-04
    • Vue中使用this.$set()如何新增数据,更新视图
      目录使用this.$set()新增数据,更新视图描述简单的讲就是说说vue.set() (this.$set)用法使用this.$set()新增数据,更新视图 描述 如果在实例创建之...
      99+
      2024-04-02
    • Vue的this.$nextTick怎么使用
      这篇“Vue的this.$nextTick怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue的this.$next...
      99+
      2023-07-04
    • Vue如何用this.$set改变数组里的某个值
      Vue用this.$set改变数组里的某个值 <!DOCTYPE html> <html lang="en"> <head> <...
      99+
      2022-12-19
      Vue this.$set改变数组某个值 vue中this.$set()的用法 vue中this.$set()
    • vue中$set如何使用
      vue中$set如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码如下:<!-- 操作 --> &...
      99+
      2024-04-02
    • vue中$set用法详解
      目录1、为什么要用set?2、set用法3、什么时候使用set?4、文档地址摘要:地址没有改变,vue就监测不到数据变化。这个时候,双向绑定就失效了。 想了解有关JS堆栈的知识?请点...
      99+
      2022-12-09
      vue中$set用法 $set使用 vue中的$set
    • Vue.set()和this.$set()使用和区别
      在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去; 当我们去看vue文档的时候,会发现有这么一句话:如果在...
      99+
      2024-04-02
    • vue中的this指向有什么用
      小编给大家分享一下vue中的this指向有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue 中的this 指向?以上是...
      99+
      2024-04-02
    • Vue的$set怎么实现
      这篇文章主要讲解了“Vue的$set怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue的$set怎么实现”吧!应用场景 let dataArr =&n...
      99+
      2023-07-04
    • JavaScript中this怎么用
      这篇文章主要介绍JavaScript中this怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!this是面向对象语言中一个重要的关键字,理解并掌握该关键字的使用对于我们代码的健壮...
      99+
      2024-04-02
    • vue中computed的this指向有什么用
      这篇文章主要为大家展示了“vue中computed的this指向有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中computed的this指向有什...
      99+
      2024-04-02
    • 解决vue中数据更新视图不更新问题this.$set()方法
      目录vue数据更新视图不更新解决问题vue数据不更新的原因(数据更改了,但是视图没有更新)解决办法具体流程如下数组更新检测注意事项对象更改检测注意事项vue数据更新视图不更新 1.d...
      99+
      2024-04-02
    • Vue.set()和this.$set()的区别是什么
      Vue.set()和this.$set()的区别是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。data () {  return&...
      99+
      2023-06-15
    • 怎么修复Vue中this is undefined的问题
      小编给大家分享一下怎么修复Vue中this is undefined的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当我们使...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作