<template>
<div>
<input v-model="firstName" placeholder="First Name">
<input v-model="lastName" placeholder="Last Name">
<p>Full Name: {{ fullName }}</p>
</div>
</template>
<script>
import { ref, computed, watch } from 'vue';
export default {
setup() {
const firstName = ref('');
const lastName = ref('');
// 计算属性,用于组合 firstName 和 lastName
const fullName = computed(() => {
return `${firstName.value} ${lastName.value}`;
});
// 监听多个变量的变化
watch([firstName, lastName], (newValues, oldValues) => {
console.log('New first name:', newValues[0]);
console.log('New last name:', newValues[1]);
console.log('Old first name:', oldValues[0]);
console.log('Old last name:', oldValues[1]);
});
return {
firstName,
lastName,
fullName
};
}
};
</script>
模板部分:
input 元素分别绑定到 firstName 和 lastName。fullName。脚本部分:
ref 创建了两个响应式变量 firstName 和 lastName。computed 创建了一个计算属性 fullName,它会根据 firstName 和 lastName 的值自动更新。watch 监听 firstName 和 lastName 的变化。当任何一个变量发生变化时,回调函数会被触发,并传入新的值和旧的值。监听多个变量:
watch 函数的第一个参数是一个数组,包含要监听的多个变量(这里是 firstName 和 lastName)。这样就可以实现对多个变量的同时监听,并在它们发生变化时执行相应的逻辑。
上一篇:vue查看版本
下一篇:vue3+vite+ts
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站