zoukankan      html  css  js  c++  java
  • Vue.js之计算属性(computed)、属性监听(watch)与方法选项(methods)

    vue.js官网:https://cn.vuejs.org/v2/guide/components-registration.html

    一、计算属性-computed

      1. 作用:能够避免数据冗余,通过计算,可以在已有的data数据中生成新的变量,计算属性的变量将会被缓存

          触发时机:当依赖的响应式属性变化才会重新计算

            示例:

    html:
    <!-- 输出:Li XuanJing -->
    <div id="app">{{fullName}}</div>
    
    script:
    var vm = new Vue({
       el:'#app',
       data:{
         fristName:'Li'
         lastName:'XuanJing'
      },
       computed:{
         // 仅读取
         fullName () {
          return this.fristName + ' ' + lastNmae
         },
         setName :{
        //读取和设置(getter、setter)
        get () {
             return this.fristNmae + ' ' lastName
        }
        set (v) {
          this.lastName = v + lastName
        }  
         }
      } 
    })
    // 修改 setName 属性
    vm.setName = 'lx'  // => 输出: lastName = lxXuanJing

    二、属性监听-watch

       1. 作用:监听属性的变化

            2. 触发时机:当属性发生变化时触发(可以配合v-model等指令使用)

            示例(vue.js官方实例):

    var vm = new Vue({
      data: {
        a: 1,
        b: 2,
        c: 3,
        d: 4,
        e: {
          f: {
            g: 5
          }
        }
      },
      methods:{
        someMethod () { /* ...... */}
      }
      watch: {
        a: function (val, oldVal) {
          console.log('new: %s, old: %s', val, oldVal)
        },
        // 绑定一个方法
        b: 'someMethod',
        // deep=true 深度 watcher(检测每一个伪属性的变化)
        c: {
          handler: function (val, oldVal) { /* ... */ },
          deep: true 
        },
        // 设置immediate属性后,该回调将会在侦听开始之后被立即调用
        d: {
          handler: function (val, oldVal) { /* ... */ },
          immediate: true 
        },
        e: [
          function handle1 (val, oldVal) { /* ... */ },
          function handle2 (val, oldVal) { /* ... */ }
        ],
        // watch vm.e.f's value: {g: 5}:监听e.f属性的变化
        'e.f': function (val, oldVal) { /* ... */ }
      }
    })
    vm.a = 2 // => new: 2, old: 1

      

    三、方法选项-methods

      作用:Vue实例中,函数需要定义在 methods 对象选项中

      触发时机:当methods中的方法被主动调用的时候触发

           实例(官方实例):

    var vm = new Vue({
      data: { a: 1 },
      methods: {
        plus: function () {
          this.a++
        }
      }
    })
    vm.plus()
    vm.a // 2
    

      

  • 相关阅读:
    Java作业5.17
    上机作业5.14
    android 计算器
    安卓第四周作业
    课后作业
    5.28上机作业
    5.22作业
    5.21 作业
    5.20作业
    上机作业5.14
  • 原文地址:https://www.cnblogs.com/jingxuan-li/p/10301519.html
Copyright © 2011-2022 走看看