范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

07Vue入门教程Vue侦听器

  1. 前言
  本节介绍侦听器  watch   的使用方法。包括什么是侦听器,侦听器的特点,以及如何对不同类型的数据进行监听。其中重点掌握对不同类型的数据如何使用侦听器,了解它之后,才能在之后的日常开发中熟练运用。 2. 木子解释
  Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性。 — 官方定义
  侦听器  watch   是  Vue   提供的一种用来观察和响应  Vue   实例上的数据变化的属性。当被侦听的数据发生变化时,会触发对应的侦听函数。 3. 使用侦听器
  前面我们介绍了什么是侦听器  watch  ,那么如何定义一个侦听器呢?
  侦听器  watch   实际是  vue   实例上的一个对象属性。当我们需要对  vue   实例上某个属性进行侦听时,我们以需要被侦听的属性名作为  watch   对象的键,以一个函数  function   作为该键的值。函数  function   接收两个参数:侦听数据变化之后的值 newValue  ;侦听数据变化之前的值 oldValue  : var vm = new Vue({   el: "#app",   data() {     return {       count: 0     }   },   watch: {     count: function(newVal, oldVal) {       // 具体处理逻辑     },   } })
  代码解释:  第 5 行,我们在  data   中定义了  Number   类型的数据  count  。 第 8-12 行,我们在侦听属性  watch   中定义了侦听器  count  。
  在介绍完如何定义一个侦听器之后,让我们用几个实例来学习一下如何在项目中使用侦听器。 3.1 对字符串、布尔值、数字、数组类型的监听
  假设当前项目中有以下需求,用户的购买商品页面: 当用户每次修改要购买商品名称的时候,都需要清空购买数量。 用户添加的数量在必须大于 0,并且当首次出现数量大于 10 的时候弹出数量超额提示,下次超过不再提示。 购物车数量发生变化时提示用户。
  在我们写具体的代码逻辑之前,让我们先来分析一下如何使用侦听器 watch  来实现需求功能: 对于需求 1, 我们需要对商品名称进行侦听,当它改变的时候将数量清零。 对于需求 2, 我们需要对商品数量进行侦听,当商品数量首次超过 10 的时候,弹出对应提示;当商品数量小于 0 的时候,将数量改为 0。 对于需求 3, 对购物车数据进行侦听,每次操作购物车数据时提示用户。 具体实现如下:
  实例演示                           Document                  商品名称:                购买数量{{count}}                              {{item.name}}  x{{item.count}}                      
  "运行案例" 可查看在线运行效果
  代码解释:  在 html 代码中, 我们给出一个商品名称输入框以及添加数量和减少数量的两个按钮。
  代码第 4-9 行,我们定义了四个数据,分别是: name — 商品的名称 count — 商品的数量 isMax — 是否首次超过数量 10 list — 购物车列表
  代码第 10-24 行,我们定义了三个方法,分别是: cut — 将数量 count - 1 add — 将数量 count + 1 addCart — 修改购物车数据
  代码第 25-49 行,我们定义了四个侦听器,分别是: name — 对数据  name   侦听,触发时将  count   变成 0;并 将 isMax 变成 false count — 对数据  count  侦听, 检测到  count   大于 10 时,将 isMax 变成 true,检测到  count   小于 0 的时候将  count   修改为 0。 isMax — 对数据 isMax 侦听,触发时,判断变化后的值是否为 true,当值为 true 时弹出提示消息 list — 对数据 list 侦听,每次改变时弹出提示消息。 3.2 示例二:侦听对象某个属性的变化
  上面在示例一中学习了对字符串、布尔值、数字、数组类型的侦听,那么如何对对象的某个属性进行侦听呢?
  我们对上述代码稍作修改:
  实例演示                           Document                  商品名称:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 11-13 行,我们定义来侦听器  product  。我们的理想效果是:当在输入框中输入商品名称的时候,在控制台中会打印出最新的  product   值。
  从效果图中我们可以看出,实际的执行效果和我们想象中并不一致。当在输入框中输入商品名称的时候,侦听器  product   并没有触发。这是为什么呢?我们先带着这个疑问看下下面这段的代码:
  实例演示                           Document                  商品名称:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 11-13 行,我们定义了侦听器  product  ,并在生命周期  mounted   函数中修改  product   的值。运行代码,我们惊奇地发现侦听器会在一开始的时候触发,输入框中输入的时候同样不会触发。
  大部分同学看到这里应该已经猜到之前为什么修改 name  不会触发侦听器。因为 product  指向的是一个引用地址,在第一个例子中,我们只修改了 product  的 name  属性,而没有修改 product  的引用地址。而在第二个例子中,我们给  product  重新赋值,因此 product  的引用地址也发生了改变,所以可以成功触发侦听器。 通过这个结论,如果只想监听  product   的  name   属性的变化,可以对代码进行如下修改:
  实例演示                           Document                  商品名称:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 10-12 行,我们定义了侦听器  product.name  ,对  product   的  name   属性进行监听。当  name   值发生变化的时候触发侦听器。 4. 侦听器的高级用法
  在之前的例子中,我们都是给侦听器赋值一个函数,实际上它还可以用对象的形式来定义。 4.1 handler方法
  我们给  name   绑定了一个  handler   方法,之前我们写的  watch   方法其实默认写的就是这个 handler  。当  name   发生改变时,  handler   方法就会执行。
  实例演示                           Document                  商品名称:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 7-11 行,我们定义了侦听器  name  。它是一个对象,当  name   发生变化的时候,会调用  handler   的方法… 4.2 immediate属性
  有时候你可能需要在侦听器最初绑定的时候就触发一次,这个时候我们就需要用到 immediate  属性。 示例:
  实例演示                           Document                  商品名称:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 13 行,我们给侦听器  name   一个  immediate   属性,它的值为 true。这个时候,当页面第一次渲染的时候就会触发侦听器的  handler   函数。 4.3 deep属性
  在之前的 3.2 中我们学习了如何对对象的某个属性做侦听:通过指明对象的某个属性来。假如现在有以下代码:
  实例演示                           Document                  商品名称:       商品数量:       商品标题:               
  "运行案例" 可查看在线运行效果
  代码解释:  在  watch   属性中,我们写了三个侦听器,都是针对  product   的某个属性进行侦听的。那有没有什么更简单的方法可以实现当  product   里面任何属性发生变化的时候就执行侦听呢? 这里就需要用到  deep   属性。 deep   属性代表是否深度监听,默认值是 false。当设置为 true 时,会对对象里面的每个属性进行侦听。
  示例:
  实例演示                           Document                  商品名称:       商品数量:       商品标题:               
  "运行案例" 可查看在线运行效果
  代码解释:  第 17 行,我们加了一个属性  deep  , deep  的意思就是深入观察,监听器会一层层地往下遍历,给对象的所有属性都加上这个监听器,修改对象里面任何一个属性都会触发这个监听器里的 handler。 5. 小结
  本节,我们带大家学习了 侦听器 watch   在 vue 项目中的运用。主要知识点有以下几点: 通过侦听器来监听数据的变化,进行相应的逻辑处理。 如何监听对象类型数据的某个属性进行侦听。 侦听器的高级用法,handler 函数、立即触发 immediate 属性、深度监听 deep 属性。

北信源中标江苏移动智慧城市项目中证网讯(王珞)北信源(300352)11月23日发布公告称,公司全资子公司北信源系统集成有限公司与江苏移动信息系统集成有限公司签订了响水县公安局社会面防控体系建设(二期)项目系统华为HUAWEI这个牌子怎么样?系统是华为HUAWEI公司自己研制的吗?大家都知道华为是有一家有名的手机厂商,目前在中国是市场份额已经达到第一,截止到2018年底在全球现在的华为手机出货量已经超过苹果排名第二,仅次于三星电子,华为是不甘心做第二的,目标使用了一年的iphone8的续航能力特别差,这是电池问题系统问题还是主板问题?首先苹果iPhone8的电池本来就不大,只有1821mAh。要知道同期的国产手机电池容量普遍在3500mAh以上,比iPhone8大了差不多一倍。尽管iOS系统比Android系统如何用excel制作简单的进销存系统?值得收藏!!最近刚好帮一个朋友做一个进销存系统,因为使用者对电脑操作以及Excel应用能力较弱,我做的进销存系统没有用特别复杂的功能,非常有解决意义,我将手把手将你制作一个简单的进新毛桃u盘重装系统图文教程新毛桃u盘重装系统图文教程,准备工作1下载新毛桃u盘启动盘制作工具增强版2下载win10系统镜像并存入u盘启动盘中怎么使用新毛桃一键重装win10系统,安装win10系统操作步骤1电脑C盘多出来一个Windows。old文件夹,占用空间20G,怎么删除?电脑C盘,突然多出来一个Windows。old文件夹,占用空间20多个G,怎么删除一前言描述客户电脑C盘,无缘无故多出来一个windows。old文件夹,占用的空间20多个G,C盘如果华为海外公司倒闭,手机的市场份额会全被苹果吃下吗?谢邀。现在头条邀请回答的问题五花八门,有些问题提出来以前似乎是没经过大脑的。好像华为在海外似乎也没什么手机公司吧?除了在美国的公司困难很大,或会逐渐退出美国市场,在其他国家好像经营苹果X,苹果第一部刘海屏以及第一次使用3D结构光,划时代的苹果还记得前两天我写的一篇关于给老年人推荐一款二手苹果手机吗?为什么我没有推荐苹果x呢?因为苹果x在苹果8p的基础上就是加了一个3D结构网以及是刘海屏的屏幕,剩下的所有配置基本上是差不曝苹果将自研5G基带或于2023年量产财经网科技11月25日讯,据新浪科技援引日经亚洲消息,苹果正在与台积电建立更紧密的合作关系,苹果希望减少对高通的依赖,计划从2023年起让台积电生产iPhone5G基带。知情人士称我就问一下,某多多砍价是真的吗?1块钱的苹果手机,五菱mini?其实这是一种新型的套路玩法,目的是达到宣传推广的作用。最简单直接的方式触达到消费者,让其心动,只要心动就会有人行动起来,点击进入主页,你看到的是一元看手机,而且还是苹果手机,但是请2021年最新手机续航排名苹果逆袭第一,华为遗憾跌出前二十对于智能手机而言,续航是一个非常重要的体验,有些手机虽然配置很强,但是续航却非常差劲,打开游戏,还没玩上俩小时,就提醒你要充电了,这样的手机体验相信我们谁都不能接受。我们现在也接受
我还是决定不换p50pro了P50pro要是有5G,估计也不会破发了,之前有想把mate40pro换p50pro的,一直往店里跑去把玩手机,而且p50pro猛男粉很吸引我,真是让我日思夜想啊,看了各路评测,有其实我还是推荐大家买二手机大学到现在,用下来的手机零零散散也有20部了,买新机的就只有四部,一加7t一加9r三星s10e华为mate40pro,其余都是二手机,第一次接触二手机是微博一个博主淘宝卖二手机,我小米你长点心吧模仿是进击不了高端的小米你长点心吧,模仿也要模仿点样子来吧。外媒Letsgodigital根据小米此前发出的专利内容,做出了小米翻盖折叠屏手机的渲染图。有两个版本,一个是三星后摄方案,一个是华为后摄方现在新出的手机没5G,会影响你购买吗?前阵子华为出了p50系列,全系没有5G版,一个引领全球5G技术发展的公司居然不能推出5G手机,实在是让人感到可惜,可是没办法,生存才是硬道理,只有活着,才有希望去突破。但是消费者有轻薄和大屏无法兼得?这部老手机了解一哈?前阵子,想换掉mate40pro的心隐隐躁动,因为它太重了,加上都是玻璃的机身,加剧了手感的劣化,于是想换p50pro,虽然p50pro是轻薄轻巧了,可是那手感不是很好,金属边边太千万不要买首发买三星这是我大学以来买过的所有三星手机有s9s20s21。几乎都是首发买的,三星手机看起来和用起来都不错。但是还是得跟HXDM说说,三星手机千万不要买首发,都是痛的的体验除非你想最先体验XDM觉得手机屏幕尺寸多少最合适呢?手机现在承担的功能越来越多,所需的屏幕也越来越大,特别是12promax这个怪兽,78mm的宽度加直角边,220多克的重量,上手一会,立马放弃,对我的小拇指压力真的大啊,如果贴膜戴全球三大OLED厂商盘点国产和韩国差距有多大?三星独占鳌头更多汽车资讯欢迎关注公众号亚洲新能源汽车网之前有分析过MicroLED在汽车领域的应用,MicroLED是一门全新的应用技术,发展前景可观,因此也被视为下一代显示技术。那么反观OL蔚来赴港上市计划可能将推迟至2022年日前,据彭博社报道,蔚来汽车或因涉及用户信托持股等方面问题,赴港上市计划可能将推迟至明年。近日有消息称,在2022年初之前,蔚来汽车不太可能登陆港交所,原因是蔚来汽车收到港交所对其五菱变高级了?周迅成为五菱全球代言人更多汽车资讯欢迎关注亚洲新能源汽车网最近,周迅成为五菱全球代言人的消息登上了微博热搜,当我们点进周迅代言五菱这个话题,便能看到点赞量排名较前的几十条大多都在夸赞五菱好像突然高级了五乘联会前8月新能源车零售147。9万辆更多汽车资讯欢迎关注公众号亚洲新能源汽车网9月8日,乘联会发布数据,2021年8月乘用车市场零售达到145。3万辆,同比下降14。7,而且相较2019年8月下降7,增速偏弱。今年1