关于filters过滤器中获取不到this

在vue的实例中,filter中编写过滤器会发现过滤器中的this指向了undefined,原因是过滤器的注册在 vue实例之前,this默认指向了window,因为严格模式指向了undefined,

解决:

一,使用计算属性替代

二,传入this

<template>
  <div>{value | formate(that)}}</div>
</template>

data () {
  return {
  that: this      
    }      
}

filters: {
  formate (val, obj) {
  return '0'+obj.methods(val)  
}  
}

 

posted @ 2020-11-09 12:02  异地大光码  阅读(903)  评论(0编辑  收藏  举报