vue $get和$set方法

vue $get 和 $set 方法

$set方法

$set 方法用于添加响应式对象的属性,并确保这个新属性也是响应式的。当向一个已经创建的对象添加属性时,如果使用JavaScript语法 obj.key = value 的方式进行赋值,则添加的属性不是响应式的,而是非响应式的。这时候,如果在模板或渲染函数中使用该属性,这个新的属性将无法触发组件重新渲染。

使用 $set 方法可以将一个属性添加到响应式对象中,使之成为响应式的。它接受三个参数,分别是响应式对象、属性名和属性值。

以下是一个简单的示例:

<template>
  <div>
    {{obj.newProp}}
    <button @click="addProp">Add Property</button>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      obj: {
        prop1: 'value1',
        prop2: 'value2'
      }
    };
  },
  methods: {
    addProp() {
      this.$set(this.obj, 'newProp', 'new value');
    }
  }
};
</script>

$get 方法

g e t 是 v u e 的内置方法, get是vue的内置方法, getvue的内置方法,get 方法用于获取响应式对象的属性值,它可以直接访问对象的属性并返回属性值。 $get 方法接受两个参数,分别是响应式对象和属性名

<template>
  <div>
    {{ obj.prop1 }}
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      obj: {
        prop1: 'value1',
        prop2: 'value2'
      }
    };
  },
  created() {
    const prop1Value = this.$get(this.obj, 'prop1');
    console.log(prop1Value); // 'value1'
  }
};
</script>

在上面的示例中,我们定义了一个 obj 对象,包含两个属性 prop1 和 prop2,在组件的 created 钩子函数中,使用 $get 方法获取 prop1 属性的值,并将其输出到控制台。

需要注意的是,使用 $set 和 $get 方法时,它们只能在响应式对象上使用,如果在普通对象上使用,它们将无效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值