先看下效果图吧~ 如下
源码可见于我的github:https://github.com/Sallywa/Calender/tree/master/Calender-Project
实现关键点:
1.组件的复用以及父子组件传值
很明显每年每个月的月历样式(数据不一样)是一致的,那么自然而然思路就是把每个月作为一个公用组件进行复用十二次,这样就避免了多次重复的代码。每个组件不一样的地方在于年份和月份,而这两个数据我们可以由父组件向子组件进行传值来告诉子组件。关键代码如下:
<template>
<div class="wrap">
//months是一个包含十二个月名字的数组,用v-for对其进行循环渲染,并且把月份的index传给子组件
<div v-for='(items, index) in months' v-if="index == monthIndex">
<month :monthName='items'
:year='year' //年份传给子组件,年份在moun