我有一个对象数组,每个对象都包含一个name属性和一个value属性
我要做的是返回指定名称的值
我正在使用计算所得的属性
computed: {
statAlertCount() {
var stat = this.siteStatistics.filter(item => {
console.log(item);
return item.name == "site_alert_count";
});
console.log(stat[0]);
}
}
此代码返回和我可以安慰的对象“ stat”。看起来像这样。
但是如果我尝试使用stat [0] .stat访问值,则会收到以下错误消息
app.js?id=f37d3d495892e39c6054:85474 [Vue warn]: Error in render: "TypeError: Cannot read property 'stat' of undefined"
答案 0 :(得分:5)
我认为您只需要返回:
computed: {
statAlertCount() {
var stat = this.siteStatistics.filter(item => item.name === "site_alert_count");
return stat.length > 0 ? stat[0].stat : '';
}
}
答案 1 :(得分:0)
使用find
的替代解决方案:
computed: {
statAlertCount() {
const statItem = this.siteStatistics.find(item => item.name == "site_alert_count");
return statItem ? statItem.stat : "";
}
}