Vue——computed

对属性值进行处理后返回

  • 基本使用

    computed: {
        isSave(){
            if(this.name && this.ERP.name){
                return false
            }else{
                return true
            }
        }
    },
    methods: {
        if(this.isSave){	//使用时不用加括号,虽然形式是方法,但当做普通属性使用
            ...
        }
    }
    
  • 原理

    computed 中的每一个方法其实是一个对象,这个对象内有 get、set 方法,get() 方法的返回值就是属性值,set() 方法一般不使用,所以就将对象简写为方法的形式,但调用仍然要用对象的形式调用

    • 读取值的时候调用 get 方法

      computed: {
          result: {
              get(){
                  return this.name+' '+this.age
              }
          }
      },
      
    • 修改值的时候调用 set 方法

      computed: {
          result: {
              get(){...}
              set(newValue){		// set一般有一个参数,指的是新赋的值
                  this.name = newValue
              }
          }
      }