我正在尝试测试向现有对象添加新条目的组件方法。
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
我已经预先设置了所有需要的数据和 Prop (field.key和tag),所以这不是问题。运行其他方法完全正常,push
似乎是问题所在
最佳答案
这是因为 this.value['tag']
是一个对象,而不是数组,所以没有 push
方法。
将其定义为数组会改变这一点:
wrapper.setProps({
field: {
key: 'tag'
},
value: {
tag: []
}
})
关于javascript - Vue 测试 - '... .push is not a function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65171497/