首页 > 其他分享 >watch 监听属性

watch 监听属性

时间:2022-11-04 10:22:47浏览次数:65  
标签:computed watch oldVal num 监听 属性

watch 监听属性

用于监听data中数据值所产生的改变

使用方法:在export default中写下 watch方法

监听事件中直接书写你需要监听的对象 ,其中可以使用的形参有newval与oldVal

export default {
 data() {
   return { num: 20 };
},
 watch: {
   //第一种格式
   //直接使用需要监听的函数化为对象  
   num(newVal, oldVal) {
     console.log("num的值产生了改变", newVal, oldVal);
  },
 
   //第二种格式  
   num: {
   //固定的函数名称为handler,而此时需要监听的对象名就化成对象
     handler(newVal, oldVal) {
       console.log("num的值产生了改变", newVal, oldVal);
},},},};

 

立即监听与深度监听

  • 立即监听 页面刷新的时候能够监听到num数据从undefined变成指定值的过程

  • 普通监听无法一进入页面就开始监听,需要进行事件操作,而立即监听一进入网页就可以监听到

  • 深度监听,获取不到新值与旧值,但是能获取到对象中某个属性被更改时而触发

watch: {
   Obj: {
     handler(newVal, oldVal) {
       console.log("num的值产生了改变", newVal, oldVal);
    },
     deep: true, //深度监听
     immediate: true, //立即监听
  },},

注: 一般不推荐直接监听整个对象,建议监听对象中某个而具体的属性

  "obj.name": {
  handler(newVal, oldVal) {
  console.log("数据被改变了", newval, oldVal);
  },

 

 

Watch与Computed的区别

  • watch中的函数是不需要调用的,computed内部的函数调用的时候不需要加()

  • watch(属性监听),监听的是属性的变化,而computed(计算属性),是通过计算而得来的数据

  • watch需要在数据变化时执行异步或开销较大的操作时使用,而对于任何复杂逻辑或一个数据属性,在它所依赖的属性发生变化时,也要发生变化,这种情况下,我们最好使用计算属性computed。

  • computed 属性的结果会被缓存,且computed中的函数必须用return返回最终的结果

  • watch 一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作;

 

Watch与Computed的使用场景

  • computed

    • 当一个结果受多个属性影响的时候就需要用到computed

    • 最典型的例子: 购物车商品结算的时候

  • watch

    • 当一个数据的变化需要有额外操作的时候就需要用watch

    • 搜索数据

  • 总结:

    • 一个值的结果受其他值的影响,用computed

    • 一个值的变化将时刻影响其他值,用watch

watch擅长处理的场景:一个数据影响多个数据 (一般用于异步或者开销较大的操作) 监听到数据的变化,去指定响应的操作 computed擅长处理的场景:一个数据受多个数据影响 (对于任何复杂逻辑,你都应当使用计算属性)

 

标签:computed,watch,oldVal,num,监听,属性
From: https://www.cnblogs.com/Dollom/p/16856815.html

相关文章

  • SOLIDWORKS插件SolidKits高级BOM之批量写入模型属性
    一般情况下,我们在做设计时,可能都是在三维设计完成之后才去添加模型的属性信息,这部分工作就需要我们一个一个打开模型去做,也是很繁琐的一项工作。因此批量写属性的工具就变......
  • C# .NET 获取枚举值的自定义属性(特性)信息
    一、引言枚举为我看日常开发的可读性提供的非常好的支持,但是有时我们需要得到枚举值得描述信息或者是注释(备注)信息比如要获得 TestEmun.aaa属性值得备注AAA,比较不方便得......
  • Listener(监听器)
    作用监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的......
  • NETCORE - ValidationAttribute 属性验证
    NETCORE-ValidationAttribute属性验证 创建.net6 webapi 项目                          引用:https://bl......
  • selenium之UI自动化时更改/添加/获取标签的属性值
    前言在web自动化测试的过程中,根据用例可能需要①获取某元素的某标签的某属性值;例如使用 get_attribute('value') 获取元素显示的value值②更改某元素的某标签的某属性......
  • clip-path属性深入理解与使用
      clip-pathCSS属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。clip-path的属性值可以是以下几种:1.inset; 将元素剪裁为......
  • ASP.net wp 动态添加控件设置属性事件
     页面代码:<body><formid="form1"runat="server"><div><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label><......
  • 微信小程序watch监听, 类似vue的watch
    Vue.js里有watch监听机制,很适合“一处改变,多处影响”的场景,在开发小程序的过程中,自然也会遇到这样的场景,下面介绍如何在小程序中实现watch监听不好用你来打我!一.新建w......
  • 常用CSS样式属性
    01、常用样式1.1、background背景设置元素背景的样式background,更好的衬托内容。属性描述值background背景属性简写。支持多组背景设置,逗号,隔开backgrou......
  • 引用类型属性自动注入-byName,byType,多个配置文件
    引用类型属性自动注入​ 对于引用类型属性的注入,也可不在配置文件中显示的注入。可以通过为标签设置autowire属性值,为引用类型属性进行隐式自动注入(默认是不自动注入......