vue 侦听器之详解应用场景-watch

vue 侦听器

  • Vue提供了一种更通用的方法来观察和响应Vue实例上的数据变动: 侦听属性:watch;
  • 当需要在数据变化时执行异步或开销较大的操作时, 这个方式是最有用的;比如注册;

eg

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<!-- <input type="text" v-model="msg"  /><br> -->
			<!-- <p>展示:{{msg}}</p> -->
			<!-- 下面这种侦听器比上面那种适用场景更多,当msg变化,触发侦听器里面函数 -->
			<!-- <p>展示:{{newMsg}}</p> -->
			<!-- v-model是时时的,一般要输入完之后才发生比较好,加修饰符.lazy -->
			用户名:<input type="text" v-model.lazy="name"  /><span :style="infoStyle">{{info}}</span><br>
			<!-- 密码:<input type="text" v-model="name"  /><br> -->
		</div>
	</body>
</html>
<script type="text/javascript">	
	var vm = new Vue({	
		el:'#app',
		data:{	
			msg:'hello vue',
			newMsg:'',
			name:'',
			info:"",
			infoStyle:"",
			
		},
		watch:{
			msg:function(){
				this.newMsg = this.msg+'watch'
			},
			name:function(){
				//发送ajax请求到后台数据库
				
				if(this.name == "nice"){
					this.info="此用户已注册";
					this.infoStyle={color:'red'}
				}else{
					this.info="可以注册";	
					this.infoStyle={color:'blue'}
				}
			}			
		}		
		
	})	
	
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue侦听器(Watcher)是一种功能强大的特性,用于监听数据的变化并执行相应的操作。它可以在数据变化时执行一些逻辑,包括更新视图、发送请求或触发其他操作。下面是一些Vue侦听器的常见应用场景: 1. 数据变化时更新视图:当数据发生变化时,你可以使用侦听器来更新相关的视图。例如,你可以监听一个计算属性的变化,在其依赖的数据发生改变时,自动更新视图。 2. 异步操作:有时候你可能需要在数据变化后执行一些异步操作,例如发送AJAX请求或者触发一些副作用。你可以使用侦听器来监听数据的变化,并在回调函数中执行异步操作。 3. 表单验证:在表单中,你可以使用侦听器来监听用户输入的值,然后进行一些验证逻辑。当输入值发生改变时,侦听器可以检查输入是否符合要求,并做出相应的反馈。 4. 联动操作:有时候多个数据之间会存在联动关系,一个数据的变化会影响到其他数据。你可以使用侦听器来监听一个数据的变化,并在回调函数中修改其他相关的数据。 5. 触发事件:当特定的数据满足某个条件时,你可以使用侦听器来触发自定义事件,以便其他组件或模块能够接收到相应的通知。 这些只是一些常见的应用场景,实际上你可以根据具体需求和业务逻辑,灵活运用Vue侦听器来实现更多的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值