当前位置: 首页 > 知识库问答 >
问题:

Vue.set()方法中的第一个参数

凌朗
2023-03-14

请帮助我理解以下问题:

  1. 从 https://alligator.io/vuejs/common-gotchas/

“您不能直接向根数据对象添加新属性,但可以使用”:

Vue.set(this.data, “道具名称”, 值)

Vue.set(this.$data,'lastAddedName','John Elway');

但是 Vue.set() 上面的方法中的第一个参数:“this.data” 或 “this.$data”,它是根数据对象,因此控制台中会引发错误。所以上面的文档是错误的还是我误解了?

谢谢你的帮助。

共有1个答案

那宏大
2023-03-14

他们所说的“您不能直接向根数据对象添加新属性”的意思是,使用键/值赋值方法添加属性不会创建反应式对象;不会创建 getter 和 setter,对它的更改不会传播到该属性的任何用途。

另一方面,Vue.set是专门为使用正确的getter和setter创建属性而编写的,允许vue继续运行,而不会将属性隐藏在反应层中。

他们使用Vue.set的方式不正确,Vue不会在vue实例本身设置值;它还会在开发模式下发出警告。

希望这有帮助。

 类似资料:
  • 参数: {Object | Array} target {string | number} key {any} value 返回值:设置的值。 用法: 设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。 注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。

  • 我是编程/java的新手,今晚有一个我无法弄清楚的简短作业。只需要放在正确的方向。这是我需要的。 编写一个方法methodOne(),它返回一个float值。它有两个参数。第一个参数是整数数组,第二个参数是字符串数组。 方法一()按顺序检查字符串数组中每个元素的值。如果一个元素不是null,那么整数数组中相应的元素将在函数调用方法二()中用作参数。方法二()检查参数的值。如果它大于零,那么方法二(

  • 本文向大家介绍服务器收到用户提交的表单数据,请问调用了以下方法中的哪一个方法?第一个是Servlet中的doGet()方法,第二个Servlet中的是doPost()方法相关面试题,主要包含被问及服务器收到用户提交的表单数据,请问调用了以下方法中的哪一个方法?第一个是Servlet中的doGet()方法,第二个Servlet中的是doPost()方法时的应答技巧和注意事项,需要的朋友参考一下 考察

  • 我如何将变量从主方法发送到方法A,以及我应该在方法B中的A()中传递什么参数。 代码:

  • 问题内容: 在Bruce Eckel的“ Thinking In Java,第四版”的第428页(有关类型信息的章节)中,具有以下示例: 也许我有点累,但是我看不到add()方法中对add()的调用是如何工作的。我一直认为它应该有一个引用,或者是一个静态方法(并且我在ArrayList或List中找不到静态add())。我想念什么? 我只是为自己测试,发现这可行: 问题答案: Java为这样的方法

  • 问题内容: 在Swift 2中,调用函数时似乎并不总是需要第一个参数名称。现在在Swift 3中,调用函数时需要第一个参数名称。例如: Swift 2.2允许通过简单键入以下内容来调用该函数: Swift 3似乎要求我们使用方法的第一个参数名称,例如: Swift 3是否适用于所有函数和方法,还是仅适用于某些情况? 问题答案: 是的,这是正确的。Swift正以这种方式解决语言不一致的问题(初始化程