自己用vue代码仿照写一个监听子组件案例实现获取当前日期功能。
时间: 2024-12-23 17:14:56 浏览: 6
当然可以。在Vue.js中,我们可以创建一个简单的父组件,它包含一个子组件,并通过`v-on`指令监听子组件的状态变化。让我们先从定义一个基本的日期选择子组件开始:
```html
<!-- 子组件 DatePicker.vue -->
<template>
<div @click="setDate">
<input type="text" v-model="selectedDate" :value="currentDate" readonly />
</div>
</template>
<script>
export default {
data() {
return {
currentDate: '',
};
},
methods: {
setDate() {
this.currentDate = new Date().toLocaleDateString();
},
},
};
</script>
```
然后在父组件中,我们引入并使用这个子组件,并监听其状态变化:
```html
<!-- 父组件 Parent.vue -->
<template>
<div>
<h1>当前日期:{{ currentDateFromChild }}</h1>
<DatePicker @dateChanged="handleDateChange"></DatePicker>
</div>
</template>
<script>
import DatePicker from './DatePicker.vue';
export default {
components: { DatePicker },
data() {
return {
currentDateFromChild: '',
};
},
methods: {
handleDateChange(date) {
this.currentDateFromChild = date;
},
},
};
</script>
```
在这个例子中,`DatePicker`每次点击输入框都会触发`setDate`方法,更新当前日期。父组件通过`@dateChanged`事件处理程序`handleDateChange`接收并显示子组件传来的当前日期。
阅读全文