vue组合式使用watch$emit
时间: 2023-11-16 20:52:55 浏览: 93
Vue.js 中的 $watch使用方法
在Vue 3中,可以使用Composition API的`watch`函数和`$emit`方法来实现组合式的`watch`和事件传递。
要使用`watch`函数,首先要导入它,并在组件的`setup`函数中使用。例如:
```javascript
import { watch } from 'vue';
export default {
setup() {
const value = ref('');
watch(value, (newValue, oldValue) => {
// 监听value的变化,并在变化时执行回调函数
console.log(`value changed from ${oldValue} to ${newValue}`);
});
return {
value
};
}
}
```
在上面的例子中,我们使用`watch`函数监听了`value`的变化,并在变化时打印出新旧值。
而要使用`$emit`方法进行事件传递,只需在组件内部调用该方法,并传递事件名称和需要传递的数据。例如:
```javascript
export default {
setup() {
const handleClick = () => {
// 触发名为'eventName'的事件并传递数据'testData'
$emit('eventName', 'testData');
};
return {
handleClick
};
}
}
```
在上面的例子中,我们在`handleClick`函数中调用了`$emit`方法,触发了名为'eventName'的事件,并传递了数据'testData'。
阅读全文