第五章 阅读首页
在写这部分代码的时候,我用的是死数据,但后来发现数据填充的时候太凌乱,就模仿真实向服务器请求数据的模式,将所有数据提取到外面,用数据绑定的方式在逻辑层获取数据;其中用到了小程序的模板templete组件,以及wxml里运用if循环和理解相对路径、绝对路径的区别,还有swiper组件的运用,各种点击事件的处理和交互。
post.wxml

1.微信小程序中的swiper组件真的是简单方便,提供了页面中图片文字等滑动的效果。
<swiper>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
</swiper>
1
2
3
4
5
这里的就是一个滑块视图容器;而就是你希望滑动的东西,可以是文字也可以是image,其中swiper有很多属性。常用的有
属性名 默认值 作用 2.indicator-dots false 是否显示面板指示点 3.indicator-color rgba(0, 0, 0, .3) 指示点的颜色 4.indicator-active-color #000000 当前选中的指示点颜色 5.autoplay false 是否自动播放 6.intervaly 5000 自动切换时间间隔
这里vertical=”true”在官方文档中没有提到,定义这个可以上下滑动;还有一点需要注意vertical=”false”时,仍然是上下滑动,原因就是微信小程序在解析时将”false”看成字符串,只要字符串不为空,就为真。所以我们需要这样写:vertical=”{{false}}”
2.在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。(1)可以使用wx:for-item指定数组当前元素的变量名。(2)可以使用wx:for-index指定数组当前下标的变量名.(3)wx:for用在<blcok/>标签上,以渲染一个包含多节点的结构块。
3.绝对路径是指文件在硬盘上真正存在的路径。所谓相对路径,就是相对于自己的目标文件位置。相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。
4、 Template模板
WXML提供模板(Template),可以在模板中定义代码片段,然后在不同的地方使用。可以保证格式以及数据的相同。
(1)-定义模板
使用<template name="tempName"></template>标签定义模板,并将模板名称命名为tempName,赋值给属性name。在标签内部,定义模板结构。
(2)-使用模板
使用<template is="tempName" />标签,在需要使用模板的地方。如果要用到js文件中的数据,则需要添加data属性。
(3)-is属性
is属性不仅可以静态的指向渲染的模板,也可以使用Mustache语法,来动态决定具体需要渲染哪个模板。
(4)-模板的引用
如上都是在同一个wxml文件中定义和引用模板,而模板的定义和引用是可以分开的。即在一个文件中定义模板,而在其他一个或多个文件wxml文件中都可以使用定义好的模板。从外部文件中引用模板,使用<import src=http://www.yiyongtong.com/archives/"templateUrl" />标签。同样使用is属性来指向要引用的标签。
(5)要在index.wxml中使用template中定义的模板,则需要先在index中利用import来导入该模板。
(6)要注意import作用域,其仅仅引用目标文件中template。如:C import B,B import A,在C中可以使用B定义的template,在B中可以使用A定义的template,但是C不能使用A定义的template。
post-template.wxml
这个就是文章列表的template模板

data.js
数据层单独写所有数据的文件
var local_database = [
{
date: "Apr 11 2017",
title: "陆壹佛爷斩获北京市“电脑鼠走迷宫”竞赛冠军",
post_img: "/images/post/match.jpg",
content: "2014年12月21日,“2014北京市电脑属走迷宫竞赛”在北京交通大学拉开帷幕。此次大赛吸引了北京交通大学、北京科技大学、中国农业大学等高校53只队伍,其中我校信息工程学院派出5只队伍参加了本次比赛。",
collect_num: "289",
view_num: "482",
author_img: "/images/avatar/hao.jpg",
img_condition: true,
headImgSrc: "/images/post/match1.jpg",
headImgSrc1: "/images/post/match2.jpg",
headImgSrc2: "/images/post/match3.jpg",
author: "陆壹佛爷",
dateTime: "16小时前",
detail: "2014年12月21日,“2014北京市电脑属走迷宫竞赛”在北京交通大学拉开帷幕。此次大赛吸引了北京交通大学、北京科技大学、中国农业大学、北京城市学院等高校53只队伍,其中我校信息工程学院派出5只队伍参加了本次比赛。\n\n电脑鼠的英文名称为Micromouse,实际上是一个由微处理器控制的,集感知、判断、行走功能于一体,能够自动寻找最佳路径到达目的地的小型机器人。它可以在“迷宫”中自动感知并记忆迷宫地图,通过一定的算法,寻找一条最佳路径,以最快的速度到达目的地。1997年,在美国举办了第一届电脑鼠竞赛,随后,电脑鼠竞赛传入欧洲,首届欧洲电脑鼠竞赛于1980年在伦敦举办,之后英国的电脑鼠比赛便由电子工程协会(IEE)主办。1980年11月日本电脑鼠协会(JMA)在东京举办了第一届竞赛,此后,日本每年都要举办一届电脑鼠竞赛。我国台湾也于1986年10月举办了首届电脑鼠比赛。现在国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛,各国选手报名踊跃,主要是大学生。我国于2007年引入该项赛事。\n\n在通信工程专业田小平老师的指导下,参赛队员经过3个多月的认真准备,包括学习“电脑鼠”的硬件组成和软件调试,各代表队队员互帮互助,成功的实现了五只“电脑鼠”走迷宫的目的。\n经过一个下午的激烈角逐,5只代表队均获得佳绩,其中一等奖1项、二等奖3项、三等奖1项。\n\n一等奖:韦海同(通122)、李文敬(通121)、刘春衫(通122)\n\n此项比赛是我校第一次参加,我院学生的科研与创新精神受到了主办方的称赞,为我院增添了荣誉。\n\n信息工程学院 通信工程系田小平供稿\n2014年12月23日",
music: {
dataUrl: '?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46',
title: "此时此刻-许巍",
coverImgUrl: "?max_age=2592000",
},
postId: 0
}
]
post.js