如何在 Vuejs 中获取路由的当前名称(例如'this'值)?



我是vueJS的新手我想使用以下模板来启动我的项目,我想将其转换为IE11

链接:codepen erickarbe/pen/pLbRqQ

原始代码为:

computed: {
filteredMembers() {
return this.members.filter(member => {

let first = member.First.toLowerCase()
let last = member.Last.toLowerCase()

let fresult = first.includes(this.searchQuery.toLowerCase()) 
let lresult = last.includes(this.searchQuery.toLowerCase()) 

if(fresult)
return fresult

if(lresult)
return lresult
})
}, 

为了使用IE11,我尝试使用polyfill并将代码转换为

computed: {
filteredMembers: function(){  
return this.members.filter(function(member){

let first = member.First.toLowerCase()
let last = member.Last.toLowerCase()
//Error for 'this' 
let fresult = first.includes(this.searchQuery.toLowerCase())  //'this' Error 
let lresult = last.includes(this.searchQuery.toLowerCase())  //'this' Error 
//Error for 'this'
if(fresult)
return fresult

if(lresult)
return lresult
})
},}

我在这个上使用"this"时出错。searchQuery.toLowerCase(((

但我可以像一样使用"varths=this"来解决它

computed: {
filteredMembers: function(){
var ths = this;  
........
let fresult = first.includes(ths.searchQuery.toLowerCase())
let lresult = last.includes(ths.searchQuery.toLowerCase())

这是一种非常艰难的方式还是愚蠢的方式来获得"这个"值???

有没有最好的方法来获得当前的"这个"值,非常感谢

请阅读this关键字在JavaScript中的工作原理。

您只需要将原始this绑定到新函数:

return this.members.filter((function (member) {
// ...
}).bind(this))

围绕该功能的额外()可能没有必要,但我不确定没有它IE11是否能工作。

相关内容

最新更新