我有一个用Vue构建的SPA,我正在尝试从自定义API提取一系列商品。
一旦存储了我要遍历该数组并推送自定义路径值的项目,但是出现错误
this.list [i] .push不是函数
我不确定为什么这不可能,但是我确定我错过了一些东西。
this.list: []
fetch(){
let url = 'http://core.com/api/v0/sources/'
axios.get(url).then((response) => {
this.list = response.data.data
for(var i = 0; i < this.list.length; i++){
let arr = { path: '/testPath' }
this.list[i].push(arr)
}
})
}
答案 0 :(得分:1)
在评论中,您提到了您的目标:
“ this.list [i] .path不存在,这是我正在尝试创建的路径”
...如果您真的想在this.list [i]的对象下直接添加一个名为“ path”的属性,则可以编写
this.list[i].path = '/testPath'
这将为保存在this.list[i]
上的对象创建一个新属性。
P.S。
这里根本不需要您的(名字很差的)arr
变量。
使用.push()
没有任何意义(并且不起作用),因为this.list[i]
包含一个对象而不是一个数组,而且这样做也不会创建所需的属性。
答案 1 :(得分:0)
push 是数组的功能,但是您试图将一个对象压入一个对象中,这就是为什么出现此异常的原因。
您可以执行以下操作。
this.list[i].path = '/testPath'
path 属性将动态添加到对象 this.list [i] 中。