VUE 学习(五)监听属性watch

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>vue监听属性watch</title>
		<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
	</head>
	<body>
		 <!--监听属性 watch,我们可以通过 watch 来响应数据的变化。
		以下实例通过使用 watch 实现计数器:-->
		<div id="div1">
			<p style="font-size: 25px;">计数器:{{counter}}</p>
			<button @click="counter++" style="font-size: 25px;">点我</button>
		</div>
		<br /><br />
		
		
		<!--以下实例进行千米与米之间的换算:-->
		<div id="div2">
			千米:<input type="text" v-model="kilometers" />
			米:	<input type="text" v-model="meters" />
		</div>
		<p id="info"></p>
		<!--以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。watch 对象创建了两个方法 kilometers 和 meters。
		当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。-->
		<script>
			var vm=new Vue({
				el:'#div1',
				data:{
					counter:1
				}
			});
			vm.$watch('counter',function(nval,oval){
				alert('计数器值的变化:'+oval+'变为'+nval+'!');
			});
			
			var vu=new Vue({
				el:'#div2',
				data:{
					kilometers:0,
					meters:0
				},
				methods:{
				},
				computed:{
				},
				watch:{
					kilometers:function(val){
						this.kilometers=val;
						this.meters=this.kilometers*1000;
					},
					meters:function(val){
						this.kilometers=val/1000;
						this.meters=val;
					}
				}
			});
			// $watch 是一个实例方法
			vu.$watch('kilometers',function(newValue,oldValue){
				// 这个回调将在 vu.kilometers 改变后调用
				document.getElementById('info').innerHTML='修改前值为:'+oldValue+',修改后值为:'+newValue;
			});
		</script>
	</body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆皮没有豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值