Vue.js 在Vue中的现有对象中创建新对象后,如何重新渲染v-on

Vue.js 在Vue中的现有对象中创建新对象后,如何重新渲染v-on,vue.js,google-cloud-firestore,Vue.js,Google Cloud Firestore,使用push方法向对象添加新数据后,My vue组件将重新渲染。 但是,我需要向现有对象添加一个新对象。 但是,push方法在这种情况下不起作用,因此我使用下面的方法。 这将按预期工作,但现在v-on不会重新渲染 const newObj = { examples: { example: 'blabla', answer: 'more blabla' } } this.test[x].group[y] = Object.assign(this.test[x].group[y], newObj

使用push方法向对象添加新数据后,My vue组件将重新渲染。 但是,我需要向现有对象添加一个新对象。 但是,push方法在这种情况下不起作用,因此我使用下面的方法。 这将按预期工作,但现在v-on不会重新渲染

const newObj = { examples: { example: 'blabla', answer: 'more blabla' } }
  this.test[x].group[y] = Object.assign(this.test[x].group[y], newObj)
  console.log(JSON.stringify(this.test[x].group[y]))
以下操作会重新渲染,但不会向现有对象添加新对象。 要使其工作,对象中已经需要存在
示例
对象

this.cards[x].group[y].examples.push({
        examples: {
          example: 'bla',
          answer: 'more blabla'
        }
      })
这行不通

this.cards[x].group[y].push({
        examples: {
          example: 'bla',
          answer: 'more blabla'
        }
      })

这是因为在建立时这些属性不存在。您可以使用
Vue.set(object,property,value)
来确保保持反应性。感谢Ohgodwhy,这让我来了解有关反应性的信息。我尝试了以下操作,但返回了错误:
Vue未定义
Vue.set(this.test[x].group[y]=Object.assign(this.test[x].group[y],newObj))
我也尝试了以下操作,但效果不佳:
this.test[x].group[y]=Object.assign({},this.test[x].group[y],newObj)
@MK01111000您是否导入了
Vue
<代码>从“Vue”导入Vue
。或者从组件方法中,您可以使用
this.$set()
。第二条注释中的代码无法工作,因为Vue无法检测数组元素分配()。导入Vue解决了此错误。剩下的是以下内容:
Vue.set(this.test[x].group[y]=Object.assign(this.test[x].group[y],newObj))
这将替换现有数据。我想添加新数据。这可能吗?