为了账号安全,请及时绑定邮箱和手机立即绑定

Vue 测试 - “....push 不是一个函数”

Vue 测试 - “....push 不是一个函数”

我正在尝试测试向现有对象添加新条目的组件方法。addTag: function () {  this.value[this.field.key].push(this.tag)  this.tag = ''}我只是想通过在我的测试中调用该方法    wrapper.setProps({      field: {        key: 'tag'      },      value: {        tag: {}      }    })...    wrapper.vm.addTag()但它会抛出错误TypeError: this.value[this.field.key].push is not a function我已经预先设置了所有需要的数据和道具(field.key 和 tag),所以这不是问题。运行其他方法完全正常,push似乎是问题所在
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

这是因为this.value['tag']是一个对象,而不是一个数组,所以没有push方法。


将其定义为数组会改变这一点:


wrapper.setProps({

  field: {

    key: 'tag'

  },

  value: {

    tag: []

  }

})


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信