vue的$set和$get方法详解

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

在Vue中,$set$get是Vue实例的两个内置方法,用于向响应式对象添加属性或获取属性的值。下面分别介绍它们的使用方法:

$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>

在上面的示例中,我们定义了一个 obj 对象,包含两个属性 prop1prop2,在组件的 addProp 方法中,使用 $set 方法向 obj 对象中添加了一个新的属性 newProp

$get

$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 对象,包含两个属性 prop1prop2,在组件的 created 钩子函数中,使用 $get 方法获取 prop1 属性的值,并将其输出到控制台。

需要注意的是,使用 $set$get 方法时,它们只能在响应式对象上使用,如果在普通对象上使用,它们将无效。文章来源地址https://www.toymoban.com/news/detail-429670.html

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

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

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

相关文章

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包