zoukankan      html  css  js  c++  java
  • vue-watch监听的方法

    在vue中,很多时候需要实时了解数据的变化执行相应的操作,通过watch监听能实现相应需求。

    <div>
          <p>inputOne: <input type="text" v-model="value1"></p>
          <p>inputTwo: <input type="text" v-model="valueObj.value2"></p>
    </div>    

    1、注册watch

    export default {
        name: 'demo',
        watch: {
        value1(newVlue, oldValue) {
          this.value = newValue + 'bbb'
          console.log(this.value)
        }
      }, data() { return {
          value: 'aaa', value1:'', valueObj: { value2: '', } } } }

    在inputOne输入123后,监听到value1的改变,打印出value的值:123bbb

    2、handler方法

      watch中需要具体执行的方法,监听数组或对象的属性时用到的方法

        watch: {
        value1:{
                    handler(newVal,oldVal){
                        this.value = newVal + 'ccc'
                    },
                    immediate:true
               }
        },    

    3、immediate属性

      在选项参数中指定 immediate: true 将立即以表达式的当前值触发回调,默认为false

     4、deep属性

      监听对象或对象中的属性,需要使用deep,即深度监听。

      在对象中层层遍历,并在监听对象上的每一个属性上都添加监听,当然这样也会损耗性能。

      watch: {
        valueObj:{
                    handler(newVal,oldVal){
                        this.value = newVal + ddd'
                    },
                    deep:true
               }
        },  

    或者:直接监听属性,避免给所有属性监听而损耗性能。
      watch: {
        'valueObj.value2':{
                    handler(newVal,oldVal){
                        this.value = newVal + 'eee'
                    },
               immediate: true,  deep:true } },
    
    

    5、watch监听路由

    watch: {
        '$route'(to,from){
          console.log(to);   //to表示去往的界面
          console.log(from); //from表示来自于哪个界面
          if(to.path=="/home"){
            console.log("路由跳转home");
          }
        }
      },
  • 相关阅读:
    Django——不同版本
    04爬取拉勾网Python岗位分析报告
    24 两两交换链表中的节点
    UniGUI学习之UniImage(39)
    Delphi7开发简单文件传输
    Javaday03(补充day02运算符,流程控制)
    java中代码块,构造方法和普通方法的代码执行顺序
    +=隐式类型转换
    关于switch中的default
    Java操作JSON数据(5)--jettison操作JSON数据
  • 原文地址:https://www.cnblogs.com/liangpi/p/12205663.html
Copyright © 2011-2022 走看看