首页 > 编程语言 >前端编程开发 --- vue3 监听属性

前端编程开发 --- vue3 监听属性

时间:2023-07-10 23:11:06浏览次数:43  
标签:counter 监听 --- meters vue3 newValue kilometers 属性

监听变量的变化并触发函数

 

<div id = "app">
    <p style = "font-size:25px;">计数器: {{ counter }}</p>
    <button @click = "counter++" style = "font-size:25px;">点我</button>        //counter++表示变量自增
</div>
    
<script>
const app = {
  data() {
    return {
      counter: 1
    }
  }
}
vm = Vue.createApp(app).mount('#app')
vm.$watch('counter', function(nval, oval) {  //在vm中创建监听器,监听counter变量的变化,变化就触发该函数,nval, oval是vue预先定义好的
    alert('计数器值的变化 :' + oval + ' 变为 ' + nval + '!');
});
</script>
</body>
</html>

整个执行流程可以总结为:加载页面 -> 创建Vue应用实例 -> 挂载应用实例到DOM元素 -> 点击按钮 -> `counter`值增加1 ->  触发`counter`的watcher函数 -> 更新页面上的计数器显示 

或者

  watch : {
    kilometers:function(newValue, oldValue) {
      // 判断是否是当前输入框
      if (this.currentlyActiveField === 'kilometers') {
        this.kilometers = newValue;
        this.meters = newValue * 1000
      }
    },
    meters : function (newValue, oldValue) {
      // 判断是否是当前输入框
      if (this.currentlyActiveField === 'meters') {
        this.kilometers = newValue/ 1000;
        this.meters = newValue;
      }
    }

 

区别

watch:监测的是属性值, 只要属性值发生变化,其都会触发执行回调函数来执行一系列操作;

computed:监测的是依赖值,依赖值不变的情况下其会直接读取缓存进行复用,变化的情况下才会重新计算;

除此之外,有点很重要的区别是:计算属性不能执行异步任务,计算属性必须同步执行。也就是说计算属性不能向服务器请求或者执行异步任务。如果遇到异步任务,就交给侦听属性。Watch也可以检测computed属性。

标签:counter,监听,---,meters,vue3,newValue,kilometers,属性
From: https://www.cnblogs.com/GKLBB/p/17540912.html

相关文章

  • vim - 2
    1.1删除文本命令说明x删除光标所在的字符X删除光标左边的字符dw删除一个单词(包括单词后边的空白)de删除一个单词(不包括单词后边的空白)dG删除到最后一行d^删除到行首d$删除到行尾dd删除光标所在行D删除到行尾dgg删除到第一行可......
  • Golang学习笔记-常量
    声明常量声明常量关键字:constconst{常量名}{常量类型}或const{常量名}={常量值}预定义常量预定义常量:true,false,iota其中true,false是布尔类型,iota是一个自增常量,从0开始取值它每出现一次,它自身的值会加1iota用法const{ money0=iota//值为0......
  • Docker - DockerFile
      DockerFile的介绍DockerFile的指令DockerFile构建过程      DockerFile的介绍 狂神:dockerfile是用来构建docker镜像的文件命令参数脚本。狂神:dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件狂神:Docker镜像逐渐成为企业交付......
  • 动态规划-背包九讲
    目录背包九讲相关资料0/1背包例题相关资料背包九讲相关资料https://oi-wiki.org/dp/knapsack/0/1背包总空间为V的背包,一共有n个物品,每个物品都有自己的价值w和占用空间t,问你用这样的背包装物品所能得到的最大价值是多少?解法:定义二维\(DP[i][j]\)表示将前i个物品装入容......
  • windows terminal中配置on-my-posh,conda虚拟环境提示不生效
    遇到了oh-my-posh的conda虚拟环境提示无法生效的问题。实际不是不生效,只是在~文件夹下面看不到。进入到其他任何文件都能看到虚拟环境提示。原因是:on-my-posh的配置的pythonsegment的properties中有一个项目是"home_enabled",默认值是false。很早以前踩过这个坑,但重装系统又......
  • Golang学习笔记-变量
    声明变量声明变量关键字varvar{变量名称}{变量类型}例子//声明一个变量为v1的整型变量,未赋值时默认值为0varv1int//声明一个变量为v2的浮点型变量,未赋值时默认值为0varv2float32//声明一个变量为v3的数组变量(数组中的元素为整型),未赋值时默认值为nilvarv3......
  • 重温设计模式 --- 装饰器模式
    引言装饰器模式是一种结构型设计模式,它允许在不改变原始对象的情况下,通过将其包装在一个装饰器对象中,来动态地添加额外的功能。装饰器模式的核心思想是,将一个对象放在另一个对象的外面,以给原始对象添加新的行为。这个“另一个对象”就是装饰器(Decorator),它持有一个原始对象(Compon......
  • 算法练习-day17
    二叉树110.平衡二叉树题意:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例:思路:本题我们可以自下而上判断二叉树是否为平衡二叉树,以上图为示例,我们先判断15是不是平衡二叉树,很明显......
  • 腾讯T3-3级资深架构师呕心整理:10万字节springboot教程全解!
    前言:可以毫不夸张地说,这篇文章介绍的SpringBoot教程基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个springboot的用法,文中都会都会有详细的教程解释。本文总共从29个章节,248页PDF,阐述springboot在各种环境下的各种用法,文中给大家列举出部分的springboot教程,需要这份10......
  • 亲子教育金句-2
    [玫瑰]家庭教育今日分享[玫瑰]“所有孩子的问题,都是父母的问题。”  ---做温柔而坚定的父母!很多时候,作为成年人的父母,不愿意面对自己的过往,特别是与自己父母关系有不良,成长有缺失或者创伤等,情商低,爱的能力差;[嘿哈]不愿意面对曾经的选择,特别是自己的配偶、工作、生活......