vue2.0和3.0区别watch
时间: 2023-08-14 08:10:41 浏览: 150
Vue 2.0 和 3.0 在 watch 方面有一些区别。在 Vue 2.0 中,我们可以通过在组件选项中定义一个名为 "watch" 的属性来监听数据的变化。例如:
```javascript
export default {
data() {
return {
message: 'Hello, World!',
};
},
watch: {
message(newVal, oldVal) {
console.log('message changed from', oldVal, 'to', newVal);
},
},
};
```
而在 Vue 3.0 中,watch 的用法有所变化。Vue 3.0 引入了 Composition API,我们可以使用新的函数 `watch` 来实现类似的功能。示例如下:
```javascript
import { watch } from 'vue';
export default {
setup() {
const message = ref('Hello, World!');
watch(message, (newVal, oldVal) => {
console.log('message changed from', oldVal, 'to', newVal);
});
return {
message,
};
},
};
```
需要注意的是,在 Vue 3.0 中,我们需要使用 `ref` 函数将响应式数据包装起来,然后使用 `watch` 函数来监听其变化。
总的来说,Vue 3.0 的 watch 使用了 Composition API,并提供了更灵活和强大的方式来监听数据的变化。
阅读全文