watch监控,对比新值和旧值做出相应判断
数据变化的监控经常使用,我们可以先来看一个简单的数据变化监控的例子。例如天气预报的穿衣指数,它主要是根据温度来进行提示的,当然还有其它的,咱们就不考虑了。
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监控,对比新值和旧值做出相应判断的更多相关文章
- watch 监控的新旧值一致问题处理
watch 监控的新旧值一致问题处理 http://www.imooc.com/article/details/id/286654
- 使用BeanShell 对比取出来的值
描述: 使用BeanShell 对比取出来的值,如不一致,报错 步骤一: 使用json Extractor后置处理器,取出"登入成功" 使用BeanS hell断言: 语法: if ...
- C++ 新特性-右值引用
作为最重要的一项语言特性,右值引用(rvalue references)被引入到 C++0x中.我们可以通过操作符“&&”来声明一个右值引用,原先在C++中使用“&”操作符声明 ...
- decltype和新的返回值语法
新的返回值语法 让我们讲一下新的返回值语法,这个语法还能看到auto的另一个用处.在以前版本的C和C++中,返回值的类型必须写在函数的前面: int multiply(int x, int y) 在C ...
- android 添加新的键值,自定义按键-2【转】
本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...
- android 添加新的键值,自定义按键【转】
本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...
- ionic4 页面跳转传值和新页面取值
页面跳转 : <ion-row *ngFor="let item of aboutData.stockData" [routerLink]="[ '/stock-d ...
- DevOps转型到底值不值?
摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑. 本文分享自华为云社区<DevOps转型到底值不值?>,作者:敏捷小智 . 引言 企业都是以盈利为 ...
- c++ 左值右值 函数模板
1.先看一段代码,这就是一种函数模板的用法,但是红色的部分如果把a写成a++或者写成一个常量比如1,都是编译不过的,因为如果是a++的话,实际上首先是取得a的 值0,而0作为一个常量没有地址.写成1也 ...
随机推荐
- Java集合-----Map详解
Map与Collection并列存在.用于保存具有映射关系的数据:Key-Value Map 中的 key 和 value 都可以是任何引用类型的数据 Map 中的 ...
- IO model
上节的问题: 协程:遇到IO操作就切换. 但什么时候切回去呢?怎么确定IO操作完了? 很多程序员可能会考虑使用“线程池”或“连接池”.“线程池”旨在减少创建和销毁线程的频率,其维持一定合理数量的线程, ...
- eclipse xml 文件添加注解快捷键
eclipse xml 文件注解快捷键: <!-- --> Ctrl + shift + / 添加注解 Ctrl + shift + \ 取消注解
- 常用bash,autoUserAdd.sh
#!/bin/bash # auth: xiluhua # date: -- read -p "please input a username:" username [ -z $u ...
- Hive批量删除历史分区
批量删除历史分区和数据可以采用如下操作: -- 删除20180101之前的所有分区 alter table example_table_name drop if exists partition (d ...
- Linux环境 vi/vim ESC无法退出原因
原因是输入模式是中文的,需要切换成英文半角符号输入命令!
- Markdown编辑器使用说明
Markdown编辑器使用说明 #编辑器使用说明编辑器仅用来编辑文章的样式,建议在其他文档中写好内容,再复制到此处编辑样式--- ## 编辑器使用介绍—非开发者 非开发者,可以将编辑框内容全部删掉,使 ...
- FTP搭建 共享上网 穿透内网外网
1.ftp原理介绍 FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据 ...
- <转>jmeter(二)录制脚本
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...
- js获取浏览器信息
function message() { txt = "<p>浏览器代码名: " + navigator.appCodeName + "</p>& ...