computed 计算属性

按照method写 this.name(),按照data去用。this.name


  <script>
    var vue = new Vue({
      el: '#app',
      data: {
        firstName: '',
        lastName: '',
        fullName: ''
      },
      methods: {
        handlerSumName() {
          console.log(this.sumName)
        }
      },
      computed: {
        // 计算属性。在computed中,可以定义一些 属性 ,这些属性叫做计算属性、
		//计算属性的本质就是一个方法,但是,当我们使用的时候,是将其视为属性去用的。
        // 简单说就是一句话,按照method写,按照data去用。this.name,this.name()

        // 注意:计算属性调用的时候,一定不要加(),它就是个属性,用法和data一模一样。
        // 注意:只要计算属性中使用到的所有data中的属性发生了变化,就会立即去重新计算属性的值。
		
        // 注意:计算属性的结果会被缓存起来,方便下次直接调用,
		// 如果计算属性中用到的所有的data都没有发生变化,就不会对计算属性重新求值。
        sumName() {
          console.log('计算属性执行了')
          return this.firstName + this.lastName
        }
      }
    })

  </script>


computed 细分 get(). set()


  <script>
    var vue = new Vue({
      el: '#app',
      data: {
        num1: 0,
        num2: 0,
      },
      methods: {
      },
      computed: {
        // 计算属性的get和set方法
        sumNumber: {
          get() { // 用于获取计算属性值的时候调用get方法
            return parseInt(this.num1) * 0.8 + parseInt(this.num2) * 0.2
          },
          set(val) { // 当修改了计算属性值的时候调用set方法
            this.num1 = parseInt(val) * 0.8
            this.num2 = parseInt(val) * 0.2
          }
        }
      }
    })

  </script>