watch监听当值第一次绑定时,不执行监听函数
时间: 2023-06-13 21:04:59 浏览: 53
在 Vue.js 的 watch 选项中,可以通过设置 `immediate` 属性来控制是否在组件挂载时立即执行监听函数。
如果 `immediate` 设置为 true,则在组件挂载时不会执行监听函数,只有当被监听的数据发生变化时才会执行;如果 `immediate` 设置为 false(默认值),则在组件挂载时会立即执行一次监听函数。
示例代码如下:
```javascript
watch: {
value: {
handler(newVal, oldVal) {
console.log('value changed to: ', newVal);
},
immediate: true // 第一次绑定时不执行监听函数
}
}
```
相关问题
vue3 watch 第一次不监听
在Vue3中,watch默认情况下不会在第一次渲染时执行回调函数。这是因为Vue3的watch选项默认是懒执行的,只有在侦听的属性发生变化时才会执行回调函数。如果你希望在第一次渲染时也执行回调函数,可以通过设置`immediate: true`来实现。
以下是一个示例代码:
```javascript
watch: {
type: {
handler(val, old) {
this.settype();
},
immediate: true
}
}
```
在上述代码中,我们将`immediate`选项设置为`true`,这样watch选项会在组件初始化时立即执行回调函数,即使属性的初始值没有发生变化。
vue监听watch监听的值没有变化怎么执行监听函数
如果Vue的watch监听的值没有变化,那么监听函数不会被执行。如果你希望在监听的值没有变化时也执行监听函数,可以使用`immediate`选项。将`immediate`选项设置为`true`,可以在组件实例被创建时立即执行监听函数。另外,如果你想监听对象中一个属性值的改变,可以使用`deep`选项。将`deep`选项设置为`true`,可以深度监听对象中属性值的变化。如果你想监听对象整体的改变,可以不使用`deep`选项。