You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

37 lines
1.2 KiB

// Reactive data - these automatically sync with v-model bound components
const statusMessage = ref('Dialog is closed');
const greetingMessage = ref('Enter your name below');
const userName = ref('');
const openDialog = () => {
console.log('Opening dialog...');
dialogOpen.value = true;
statusMessage.value = 'Dialog is open';
};
const closeDialog = () => {
console.log('Closing dialog...');
dialogOpen.value = false;
statusMessage.value = 'Dialog is closed';
greetingMessage.value = 'Enter your name below'; // Reset greeting
userName.value = ''; // Clear input
};
const sayHello = () => {
const name = userName.value || 'Anonymous';
console.log('User name from v-model:', name);
greetingMessage.value = `Hello, ${name}! Nice to meet you!`;
};
onMounted(() => {
console.log('Component mounted!');
console.log('Reactive variables initialized:');
console.log('- statusMessage:', statusMessage.value);
console.log('- greetingMessage:', greetingMessage.value);
console.log('- userName:', userName.value);
// Watch for changes to demonstrate reactivity
watch(userName, (newValue) => {
console.log('userName changed to:', newValue);
});
});