美文网首页
vue 如何实现在filters下的方法中获取到data中变量

vue 如何实现在filters下的方法中获取到data中变量

作者: 郭_小青 | 来源:发表于2022-06-16 17:59 被阅读0次

    原因:filters中的this指向的并不是vue实例

    通过以下方式:可以实现filters中获取到data的变量

    1: 定义全局变量 _this (let _this = this)
    2: beforeCreate() { _this = this; } //将 this 赋值给_this
    3: filters下的方法可以直接使用_this.data来获取到data中的变量

    <template>
      <div>{{ status | filtTest }}</div>
    </template>
    
    <script type="text/ecmascript-6">
        let _this = this   //**定义全局变量**
        export default { 
          data(){
            statusDatas: [
              { value: 1, name: '对' },
              { value: 2, name: '否' }
             ]
          },
          beforeCreate() {
            _this = this; //**  赋值 **
          },
          filters: {
            filtTest(value) {
              let newName = ''
              _this.statusDatas.forEach(item => { //**  直接获取使用 **
                if(item.value === value) {
                  return newName = item. name
                }
              })
              return newName
            }
          }
        }
    </script>
    

    相关文章

      网友评论

          本文标题:vue 如何实现在filters下的方法中获取到data中变量

          本文链接:https://www.haomeiwen.com/subject/jxpqvrtx.html