微信小程序小白,若是不对之处,请指教,万分感谢。
主要的功能实现思路是获取当前的new Data()
,
在wxml定义一些属性,把获取的时间灌入到这些属性里,
在wxml中判断一下选择的是年仍是月份,这样区分是为了翻页效果,
剩下的就是在js文件中处理翻页逻辑,月份就递减或递增,而年份我是直接循环了12次,在push到数组中,在解析。json
最大的坑在这里,看开发文档彻底属于懵逼的状态,一边从网上搜着其余人写的例子,一边对照api。
步骤:小程序
component
文件夹,含义是全部的组件都放到这个文件夹下。component
文件夹里在建立一个,你当前要作的功能组件的名称,例如:我要作的是日历因此取名calendar
。calendar
里建立4个后缀名分别是wxml、wxss、json、js文件。重点说一下组件的js,首先既然要弄成一个组件,就须要把整个代码放到Component
构造器里,我没有加,由于用不到。微信小程序
options: { multipleSlots: true // 在组件定义时的选项中启用多slot支持 }
data
和methods
,他们分别是组件内部数据和方法。内部方法官方建议在开头加_,宝宝很听话,把原来写的全部方法都加了_。onReady
加载组件。在父级的json文件中api
{ "usingComponents": { // 此为你要关联的组件目录地址。 "calendar-box-name":"/component/calendar/time" } }
以上就算完成了,若是须要父级页面和组件数据交互,须要在组件的js文件里写上监听事件。content
是我设置的要传递的数据变量。calendar
父级监听组件是否触发。数组
// 组件js var myEventDetail = {content}, // detail对象,提供给事件监听函数 myEventOption = {}; // 触发事件的选项 this.triggerEvent("calendar",myEventDetail,myEventOption); // 父级wxml // 若是组件触发事件,执行`onCalendar`事件 <calendar-box-name id="calendar" bind:calendar="onCalendar"></calendar-box-name> // 父级js onCalendar:function(e){ this.setData({ timeTitle:e.detail.content //接受组件传的数据,并赋值到父级变量里。 }) }