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

How to get current name of route(such as 'this' value)in Vuejs?

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

Link : 代码笔 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())

上使用 'this' 时出错

但我可以使用 'var ths = this' 解决它,比如

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

获取 'this' 值的方式是硬编码还是愚蠢???

有什么好的方法可以得到当前的'this'值,非常感谢

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

你只需要bind原来的this到新的功能:

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

函数周围的额外 () 可能不是必需的,但我不确定没有它 IE11 是否能正常工作。