vue中watch使用

watch

vue提供内部监听数据的变化, 分为深度监听(复杂数据类型) 和   简单监听(基本数据类型)。

以下是两种监听的写法

  1.                                                           //简单监听

  2. watch: { // 简单监听

  3. 需要监听(newVal, oldVal) {

  4. console.log(newVal, oldVal)

  5. },

  6.                                                          //深度监听

  7. watch: {

  8. '需要监听': {

  9. handler(newVal, oldVal) {

  10. console.log(newVal, oldVal)

  11. },

  12. deep: true,   //深度监听

  13. immediate: true  //首次执行  

  14. }}

接下来举例: 

1、监听一个简单数据类型
<template>
	<view></view>
</template>
<script>
	export default {
		data(){
			aa:null,
		},
		watch:{// 监听aa变量,有变化时执行
			aa(item1,item2){
				// item1为新值,item2为旧值  (oldValue,newValue)
			}
		}
	}
</script>
2、复杂数据监听

immediate 立即监听,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。如果我们需要在最初绑定值的时候也执行函数

<template>
	<div></div>
</template>
<script>
	export default {
		data(){
			obj:{
				a:''
			},
		},
		watch:{            
			'obj.a'(item1,item2){  // 此处监听obj属性a值变量
				// item1为新值,item2为旧值
			},
			deep:true  //深度监听
		}
	}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3watch使用方式有所改变Vue 3引入了一个新的API即`watchEffect`,它可以用来监听响应式数据的变化并执行相应的操作。 `Effect`函数接受一个回调函数作为参数,该调函数会在响应式数据发生化时被调用。在回调函数,你可以执行任何需要的操作,比如更新DOM、发送网络请求等。 下面是一个使用`Effect`的示例: ```javascript import reactive, watchEffect } from 'vue'; const state = reactive({ count: 0, }); watchEffect(() => { console.log('count changed:', state.count); }); // 修改count的值 state.count++; // 输出:count changed: 1 state.count++; // 输出:count changed: 2 ``` 在上面的示例,我们创建了一个响应式对象`state`,其包含一个属性`count`。然后,我们使用`watchEffect`来监听`state.count`的变化,并在每次变化时打印出新的值。 除了`watchEffect`,Vue 3还提供了`watch`函数,它可以用来监听指定的响应式数据或计算属性的变化。与Vue 2的`$watch`方法类似,你可以通过传递一个回调函数和可选的配置选项来使用它。 下面是一个使用`watch`的示例: ```javascript import { reactive, watch } from 'vue'; const state = reactive({ count: 0, }); watch( () => state.count, (newValue, oldValue) => { console.log('count changed:', newValue); } ); // 修改count的值 state.count++; // 输出:count changed: 1 state.count++; // 输出:count changed: 2 ``` 在上面的示例,我们使用`watch`来监听`state.count`的变化,并在每次变化时打印出新的值。回调函数的第一个参数是新的值,第二个参数是旧的值。 总结一下,Vue 3watch使用方式有两种:`watchEffect`和`watch`。`watchEffect`用于监听响应式数据的变化,而`watch`用于监听指定的响应式数据或计算属性的变化。 --问题--: 1. Vue 3watch有哪些使用方式? 2 如何使用watchEffect来监听响应式数据的变化? 3. 如何使用watch来监听指定的响应式数据或计算属性的变化?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值