Xin's blog Xin's blog
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

Xin

英雄可不能临阵脱逃啊~
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • HTML

  • CSS

  • JavaScript

  • Vue

    • 知识点

    • 方法

    • vue API

      • 全局api
      • 数据
      • 生命周期
      • 组合
      • 实例property
      • 实例方法 数据
        • 实例方法 事件
        • 指令
    • 组件与插件

    • css扩展语言

    • 学习笔记

    • 前端
    • Vue
    • vue API
    ctrlwin
    2021-07-09

    实例方法 数据

    # 实例方法 / 数据

    # vm.$watch[( expOrFn, callback, options)

    • 参数:

      • {string | Function} expOrFn

      • {Function | Object} callback

    • {Object} [options]
      
      1
      • {boolean} deep
      • {boolean} immediate
    • 返回值:{Function} unwatch

    • 用法:

      观察 Vue 实例上的一个表达式或者一个函数计算结果的变化。回调函数得到的参数为新值和旧值。表达式只接受简单的键路径。对于更复杂的表达式,用一个函数取代。

    注意

    在变更 (不是替换) 对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue 不会保留变更之前值的副本。

    • 示例
    // 用法一 键路径
    vm.$watch('a.b.c', function (newVal, oldVal) {
      // 做点什么
    })
    
    // 用法二 函数
    watch:{
        xxx:(newVal,oldVal)=>{     // xxx是data里的数据
        // 做点什么
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    • 选项:deep

    为了监听到对象内部值的变化,可以添加参数:deep:true。监听数组不需要添加。

    vm.$watch('someObject', callback, {
      deep: true
    })
    
    1
    2
    3
    • 选项:immediate

    添加参数:immediate:true后,将立即触发一次回调。

    vm.$watch('a', callback, {
      immediate: true
    })
    
    1
    2
    3

    # vm.$set( target, propertyName/index, value )

    • 参数:

      • {Object | Array} target
      • {string | number} propertyName/index
      • {any} value
    • 返回值:设置的值。

    • 用法:

      这是全局 Vue.set 的别名。

    • 参考:Vue.set (opens new window)

    # vm.$delete( target, propertyName/index )

    • 参数:

      • {Object | Array} target
      • {string | number} propertyName/index
    • 用法:

      这是全局 Vue.delete 的别名。

    • 参考:Vue.delete (opens new window)

    在GitHub上编辑 (opens new window)
    #vue
    上次更新: 2/23/2022, 5:36:03 PM

    ← 实例property 实例方法 事件→

    最近更新
    01
    createElement函数创建虚拟DOM
    05-26
    02
    clipboard 剪切板属性
    05-26
    03
    vue的权限管理
    05-16
    更多文章>
    Theme by Vdoing | Copyright © 2021-2022 Xin | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×