• 监听器和计算属性


    监听器:

    作用:

    监听vue实例上的数据变化

    怎么用

    new Vue({
      watch:{
        要监听的变量(变化后的值,变化之前的值){
          // 监听的变量一发生改变就会执行这里的方法
        }
      }
    })

    监听路由的变化

    new Vue({
      watch:{
        $route(变化后的值,变化之前的值){
          // 路由一发生改变就会执行这里的方法
        }
      }
    
    })
    • 可以更改标题,根据不同的路由显示不同的标题
    • 解决bug,当我们路由参数变化的时候,界面不会重新初始化的bug

     

    监听对象

    默认监听的是对象的引用

    当对象属性变化的时候,没有检测到对象的变化,如何解决

      1. 对对象进行深拷贝
      2. 监听对象的属性的变化
      3. 开启深度监听
    new Vue({
        watch:{
        // 监听对象的属性的变化
        "obj.name"(变化后的值,变化之前的值){
            // 对象name一发生改变就会执行这里的方法
        },
        //深度监听
        obj:{
            handler(){
            对象一发生改变就会执行这里的方法
          },
          deep:true
        }
      }
    
    })

    计算属性

    当某个属性的值,是依赖于别的属性生成,这个属性就可以设置为计算属性。

    怎么声明:

    new Vue({
        computed:{
        // 声明的时候,声名成了函数的形式
        fullName(){
          // 当他依赖的属性变化的时候,会重新计算
            return 返回值就是计算的属性的值
        }
      }
    })

    用的时候当做普通的属性使用即可

    计算属性的赋值

    计算属性绝大多数是不需要的赋值的

    new Vue({
        computed:{
        // 声明的时候,声名成了函数的形式
        fullName:{
          get(){
            // 获取数据的时候会执行get
            return 值
          },
          set(value){
            // 设置数据的时候会执行set
          }
        }
      }
    })

    总结:

      • 他是依赖于其他属性的,是其它属性的一个派生。
      • 声明的时候声明成函数的,但是使用的时候当做属性使用的
      • 计算属性会缓存,只有它依赖的属性变化的时候才会重新计算

    计算属性、函数和监听器

    • 计算属性: 本质上是一个属性,它别的属性的一个派生。 计算属性会进行缓存,只有它依赖的属性发生的时候才会重新计算(不能写异步操作的)
    • 函数: 一般是写业务逻辑的地方
    • 监听器: 当我们需要在某写属性变化的时候做一些业务处理的时候,需要用到监听器。(可以添加异步操作)
  • 相关阅读:
    UVA 11354
    HDU 4081 Qin Shi Huang's National Road System 最小/次小生成树的性质
    UVA 10269 Adventure of Super Mario floyd dp
    UVA 11280 Flying to Fredericton 最短路DP
    【专题】树状数组
    【专题】Subsequence
    共享python代码模块
    完全背包
    POJ 3253 Fence Repair
    POJ 3069 Saruman's Army
  • 原文地址:https://www.cnblogs.com/wangxue13/p/13669013.html
Copyright © 2020-2023  润新知