我正在尝试推送一个如下所示的数组
"role 1" => [
"role" => "role 1",
"hours" => "4"
];
在vue,但我得到这个错误
未捕获(承诺中)TypeError:无法读取未定义的属性(阅读“push”)
这是我代码
<script>
export default {
data(){
return {
roleName: null,
roleHours: null,
resources: {},
}
},
methods: {
newRole(){
axios.put(`/role/create`, {
role: this.roleName,
hours: this.roleHours
}).then(response => {
Object.values(response.data).forEach(data => {
this.resources[data.role].push(data);
});
}
})
},
},
mounted(){
}
}
</script>
我不知道我的代码哪里出错了。
1条答案
按热度按时间qij5mzcb1#
问题是
this.resources[data.role]
未定义为数组,请尝试检查它是否存在,然后推送,否则分配一个空数组,然后推送: