数据变化的监控经常使用,我们可以先来看一个简单的数据变化监控的例子。例如天气预报的穿衣指数,它主要是根据温度来进行提示的,当然还有其它的,咱们就不考虑了。

html

<div id="app">
<span>今日温度{{message}}℃</span>
<span>穿衣指数{{message2}}</span>
<br />
<br />
<button @click="add">add</button>
<button @click="decrease">decrease</button>
</div>

js

var suggestion=['T恤短袖','夹克长裙','棉衣羽绒服'];
var vm = new Vue({
el:"#app",
data:{
message:20,
message2:"T恤短袖"
},
methods:{
add:function(){
this.message+=5
},
decrease:function(){
this.message-=5
}
}
// 有些时候我们会用实例属性的形式来写watch监控。也就是把我们watch卸载构造器的外部,这样的好处就是降低我们程序的耦合度,使程序变的灵活。
// ,
// watch:{
// message:function(newVal,oldVal){
// if(newVal>=26){
// this.message2=suggestion[0];
// }else if(newVal<26 && newVal >=0)
// {
// this.message2=suggestion[1];
// }else{
// this.message2=suggestion[2];
// }
// }
// } })
// 实例方法减少代码耦合度
vm.$watch('message',function(newVal,oldVal){
if(newVal>=26){
this.message2=suggestion[0];
}else if(newVal<26 && newVal >=0){
this.message2=suggestion[1];
}else{
this.message2=suggestion[2];
}
})

watch中把值赋值后 在mounted是获取不到的 这是有先后顺序的 mounted要先渲染

watch监控,对比新值和旧值做出相应判断的更多相关文章

  1. watch 监控的新旧值一致问题处理

    watch 监控的新旧值一致问题处理 http://www.imooc.com/article/details/id/286654

  2. 使用BeanShell 对比取出来的值

    描述: 使用BeanShell 对比取出来的值,如不一致,报错 步骤一: 使用json Extractor后置处理器,取出"登入成功" 使用BeanS hell断言: 语法: if ...

  3. C++ 新特性-右值引用

    作为最重要的一项语言特性,右值引用(rvalue references)被引入到 C++0x中.我们可以通过操作符“&&”来声明一个右值引用,原先在C++中使用“&”操作符声明 ...

  4. decltype和新的返回值语法

    新的返回值语法 让我们讲一下新的返回值语法,这个语法还能看到auto的另一个用处.在以前版本的C和C++中,返回值的类型必须写在函数的前面: int multiply(int x, int y) 在C ...

  5. android 添加新的键值,自定义按键-2【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  6. android 添加新的键值,自定义按键【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  7. ionic4 页面跳转传值和新页面取值

    页面跳转 : <ion-row *ngFor="let item of aboutData.stockData" [routerLink]="[ '/stock-d ...

  8. DevOps转型到底值不值?

    摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑. 本文分享自华为云社区<DevOps转型到底值不值?>,作者:敏捷小智 . 引言 企业都是以盈利为 ...

  9. c++ 左值右值 函数模板

    1.先看一段代码,这就是一种函数模板的用法,但是红色的部分如果把a写成a++或者写成一个常量比如1,都是编译不过的,因为如果是a++的话,实际上首先是取得a的 值0,而0作为一个常量没有地址.写成1也 ...

随机推荐

  1. Java多线程-----单例模式在多线程中的使用用问题

       1.饿汉模式(立即加载模式)与多线程 不管需不需要用到实例都要去创建实例,即在类产生的时候就创建好实例 package com.thread; /** * 饿汉模式 * * @author yy ...

  2. jQuery文档操作--empty()和remove()

    empty() 概述 删除匹配的元素集合中所有的子节点 <!DOCTYPE html> <html> <head> <meta charset="U ...

  3. 反射(I)

    反射获取属性和属性值 let item = DoctorGroup() guard let dic = InterfaceTests.obtainValues(subObject: item) els ...

  4. 【Hbase学习之二】Hbase 搭建

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 hbase-2.1.3 一.单机模 ...

  5. CentOS下Yum的$releasever和$basearch的取值

    CentOS下Yum源配置文件中如CentOS-Base.repo的$releasever和$basearch的取值 $releasever的值,这个表示当前系统的发行版本,可以通过如下命令查看: r ...

  6. antd-design model 数据特点

  7. php中生成标准uuid(guid)的方法

    );// "}"        return $uuid;    }}echo guid();?>

  8. Linux下解析域名命令-dig 命令使用详解

    Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息.dig 命令主要用来从 DNS 域名服务器查询主机地址信息.dig的全称是 (dom ...

  9. javaweb项目中errorPage的问题

    我们的请求找不到时,会跳到错误页面,tomcat提供了一个错误页面,但是不太好.分析:tomcat自带错误页面不好的原因:有一下两点: 1.不好看: 2.不能为seo做出贡献.思考:如何解决以上问题? ...

  10. SQL语句的优化方法

    减少对数据库的查询次数 尽量使用相同的或非常类似的SQL语句进行查询 避免不带任何条件的SQL语句的执行 sql语句用大写 别名的使用(1.5倍)