微信小程序开发(5):日历组件的实现
微信小程序开发
小程序开发
浏览:1005 次

作者:叶小柴
https://www.cnblogs.com/yexiaochai/p/9412951.html
继续的:
微信小程序开发(4):创建自己的UI库
Github地址:https://github.com/yexiaochai/wxdemo
我们继续在这里实现我们的日历组件。这个日历组件有点特殊,是一个相对复杂的组件。然后,一般的日历组件会有很多变化,所以我们可以在这里实现最基本的标记:
let View=require(“行为视图”);
const util=require('../utils/util.js');
//const dateUtil=util.dateUtil;
组件({
行为:[
看法
],
属性:{
},
数据:{
WeekDayArr:[“天”、“一”、“二”、“三”、“四”、“五”、“六”],
displayMonthNum:1,
//当前显示的时间
displayTime:空,
//可以选择的最早时间
startTime:空,
//最晚时间
结束时间:空,
//当前时间,有时读取服务器端
当前时间:新日期()
},
附加:函数(){
//console.log(此)
},
方法:{
}
})
var isDate=函数(日期){

返回日期&;date.getMonth;
};
var isLeapYear=函数(年){
//需要处理时间格式的传入
if(isDate(year))year=year.getFullYear()
如果((年%4==0&年%100!=0)||(年%400==0))返回true;
返回false;
};
var getDaysOfMonth=函数(日期){
var month=日期。getMonth();//请注意,这里的月份将增加1,因此我们将减少1
var year=日期.getFullYear();
return[31,是LeapYear(年)吗?29:28,31,30,31,31,32,31,33,30,30,31][月];
}
var getBeginDayOfMouth=函数(日期){
var month=日期.getMonth();
var year=日期.getFullYear();
var d=获取日期(年、月、1);
返回d.getDay();
}
var getDisplayInfo=函数(日期){
如果(!isDate(日期)){
date=getDate(日期)
}
var year=日期.getFullYear();
var month=日期.getMonth();
var d=获取日期(年、月);
//这个月有多少天
var days=getDaysOfMonth(d);
//这个月几号开始
var beginWeek=getBeginDayOfMouth(d);
/*
console.log('info',JSON.stringify({
年:年,
月:月,
天:天,

开始周:开始周
}));
*/
返回{
年:年,
月:月,
天:天,
开始周:开始周
}
}
单元导出={
获取显示信息:获取显示信息
}
块>
块>
这是一个非常初级的日历原型。在编码过程中,有几个痛点:
① WXML和js应该只传输数据,而不是完全传输