vue js 等于字符串
2020-08-10
2170
为什么
filter
不能与
this.userId
一起使用,而与硬代码值
“admin”
一起使用?我该如何修复这个问题?
computed: {
UidMessages: function() {
return this.Messages.filter(function(m) {
return m.to == this.userId;
})
}
},
而且它确实有效 =>
computed: {
AMesseg: function() {
return this.Messages.filter(function(m) {
return m.to== "admin"
})
}
},
我认为这是因为字符串的比较
谢谢。
2个回答
this
在这里获取
undefined
,因为它未绑定到您的
fn
。使用
箭头语法
将
this
词汇绑定到
fn
,它应该可以工作
computed: {
UidMessages: function() {
return this.Messages.filter(m => {
return m.to == this.userId
})
}
},
Satyam Pathak
2020-08-10
您可以使用
@Satyam Pathak
回答中提到的
arrow
函数,或者您可以在
this.Messages.filter
之外声明对象并在条件中使用该对象。如下所示。
computed: {
UidMessages: function() {
let userId = this.userId; // declare and assign userId value.
return this.Messages.filter(function(m) {
return m.to == userId; // use userId variable for condition.
});
}
}
附言 请参阅 “this”关键字如何工作? 了解更多详情。
Karan
2020-08-10