vue3 setup watch 深层监听
时间: 2023-11-22 15:49:07 浏览: 97
在Vue3中,可以使用`watch`函数来监听数据的变化。如果要深度监听一个对象的变化,可以使用`deep`选项。下面是一个示例代码:
```javascript
import { ref, watch } from 'vue'
export default {
setup() {
const obj = ref({
a: {
b: {
c: 1
}
}
})
watch(() => obj.value, (newVal, oldVal) => {
console.log('obj changed', newVal, oldVal)
}, { deep: true })
return {
obj
}
}
}
```
在上面的代码中,我们使用了`ref`函数来创建一个响应式对象`obj`,并使用`watch`函数来监听`obj`的变化。在`watch`函数的第三个参数中,我们设置了`deep`选项为`true`,表示要深度监听`obj`的变化。这样,当`obj`中的任何一个属性发生变化时,都会触发`watch`函数的回调函数。
相关问题
vue3 setup watch 监听对象
在Vue 3的setup函数中,可以通过watch函数来监听对象的变化。具体的使用方法如下:
```javascript
import { watch, reactive } from 'vue'
setup() {
const obj = reactive({ count: 0 })
watch(() => obj.count, (newValue, oldValue) => {
console.log(`count is: ${newValue}`)
})
return {
obj
}
}
```
以上代码中,我们使用reactive函数将一个对象转换为响应式对象。然后使用watch函数来监听obj.count属性的变化,并在回调函数中处理变化后的值。在回调函数中,第一个参数是新的属性值newValue,第二个参数是旧的属性值oldValue。通过这种方式,我们可以在watch监听对象的属性。
vue3 setup watch
在 Vue3 中,可以使用 `watch` 函数来监听响应式数据的变化。`watch` 函数接收两个参数:要监听的数据和回调函数。当监听的数据发生变化时,回调函数会被触发。
在 `setup` 函数中使用 `watch` 函数的示例如下:
```javascript
import { watch, ref } from 'vue'
export default {
setup() {
const count = ref(0)
watch(count, (newValue, oldValue) => {
console.log(`count 从 ${oldValue} 变成了 ${newValue}`)
})
return {
count
}
}
}
```
在上面的示例中,我们使用 `ref` 函数创建了一个响应式数据 `count`,然后使用 `watch` 函数监听了 `count` 的变化,并在回调函数中打印了变化前后的值。
阅读全文
相关推荐
![md](https://img-home.csdnimg.cn/images/20250102104920.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)