全局配置

在app.json中,对小程序进行全局配置。官方文档

tabBar是对底部/顶部导航栏的配置,图片的icon 大小限制为40kb,建议尺寸为 81px * 81px

阿里矢量图网站,找到图片,存放到images文件夹中

app.json中的tabBar代码:

"tabBar": {
"list": [{
"pagePath": "pages/home/home",
"text": "主 页",
"iconPath": "images/home.png",
"selectedIconPath": "images/home-red.png"
},{
"pagePath": "pages/user/user",
"text": "我 的",
"iconPath": "images/user.png",
"selectedIconPath": "images/user-red.png"
}
]
}

我的底部导航栏:

swiper滑块视图

通过swiper,制作一个轮播图。官方文档

轮播图位于主页的顶部,wxml代码:

<view class='top-swiper'>
<swiper autoplay='true' indicator-dots='true' indicator-color='#fff' indicator-active-color='#8CBEF5' circular='true'>
<swiper-item wx:for="{{banners}}">
<image src='{{item.imgUrl}}'></image>
</swiper-item>
</swiper>
</view>

wxss代码:

swiper-item image {
width: %;
height: %;
}

图片宽高都设为100%,相当于拉伸填充;虽然图片会变形,但无伤大雅。

列表渲染

列表渲染,其实就是for循环。官方文档

页面数据是存放在.js文件,里面的Page.data之内。

将data中的数组之内的数据,以for循环的形式传递到wxml之中,这是我理解的列表渲染。

通过列表渲染,完成了主页的中间部分。

wxml代码:

<view class='navs'>
<view class="nav-item" wx:for="{{icons}}">
<view>
<image class='iconPic' src='{{item.imgUrl}}'></image>
</view>
<text class='iconTitle'>{{item.name}}</text>
</view>
</view>

wxss代码:

.navs {
display: flex;
width: %;
flex-wrap: wrap;
background-color: #fff;
margin-bottom: 10px;
}
.nav-item {
width: %;
padding: 10px;
display: inline-block;
text-align: center;
box-sizing: border-box;
}
.iconPic {
width: 88rpx;
height: 88rpx;
}
.iconTitle {
color: #;
font-size: 14px;
}

主页的顶部与中部就完成了:

text组件

官方文档

image组件

官方文档

这里用到了mode属性中的widthFix,但要在wxss中对图片的宽度width进行设置。

navigator组件

官方文档

navigator组件用于页面的跳转。

利用navigator组件,编写主页底部,并完成底部文章的跳转页面。

wxml代码:

<view class='article'>
<view class='article-top'>食物推荐</view>
<view class='article-item' wx:for="{{article}}">
<navigator url='{{item.link}}' open-type='navigate'>
<image class='articlePic' src='{{item.imgUrl}}' mode='widthFix'></image>
<view class='articleTitle'>{{item.title}}</view>
</navigator>
</view>
</view>

wxss代码:

.article {
background-color: #fff;
padding: 10px;
}
.article-top {
text-align: center;
color: rgb(, , );
}
.article-item {
padding-bottom: 10px;
padding-top: 10px;
border-bottom-style: double;
border-width: 3px;
border-color: #A1A7AD;
}
.articlePic {
width: %;
}
.articleTitle {
font-size: 16px;
color: #A1A7AD;
}

因为两个跳转的页面布局相同,只呈现一个的。

wxml代码:

<view>
<image class='img' src='{{article.imgUrl}}' mode='widthFix'></image>
</view> <view>
<view class='title'>
<view class='title-bottom'>{{article.title}}</view>
</view>
<view class='text'>
<text decode='true'>{{article.content}}</text>
</view>
</view>

wxss代码:

.img {
width: %;
}
.title {
position: relative;
text-align: center;
font-size: 26px;
color: #8CBEF5;
padding: 15px;
margin-bottom: 20px;
}
.title-bottom {
padding: 20px;
}
.title-bottom:after {
content: "";
position: absolute;
left: 50px;
top: auto;
bottom: ;
right: auto;
height: 5px;
width: 275px;
background-color: #32b66b;
}
.text {
padding: 10px;
font-size: 18px;
line-height: 1.5;
}

这里用到了css中的伪类  :after ,来控制边框的长短。

参考了博客:https://blog.csdn.net/Colossalis_c/article/details/71216339

最终完成后的主页与跳转页:

        

scroll-view可滚动视图区域

官方文档

scroll-x属性设为true,允许横向滚动。scroll-left设置横向滚动条位置。

滚动区域基本编写完毕。编写过程中,出现滚动区域无法拖动的问题,待明天解决。

微信小程序—day02的更多相关文章

  1. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  2. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  3. 微信小程序(微信应用号)组件讲解

    这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...

  4. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  5. 通过微信小程序看前端

    前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...

  6. 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  7. 来自于微信小程序的一封简讯

    9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...

  8. 微信小程序前端源码逻辑和工作流

    看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...

  9. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

随机推荐

  1. Cow Relays 【优先队列优化的BFS】USACO 2001 Open

    Cow Relays Time Limit: 1000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Tota ...

  2. tensorflow节点布放(device assignment of node)算法:simpler_placer

    tensorflow v0.9中目前在用的devcie assignment算法是simple placer算法,相比于白皮书中cost model算法实现简单.simpler placer算法优先选 ...

  3. type和 #define

    1.#define INT8U unsigned char   :  用INT8U代替unsigned char 2.typedef typedef int size; 此声明定义了一个int的同义字 ...

  4. Python开发工具之Sublime Text 3基于文件创建项目

    说明: 本地windows系统 本地已安装Sublime Text 3; 本地已创建python项目文件,如test,并在该文件夹下创建了虚拟环境venv(test/venv). 1.创建项目 依次鼠 ...

  5. 使用 Solr 构建企业级搜索服务器

    最近因项目需要一个全文搜索引擎服务, 在考察了Lucene及Solr后,我们选择了Solr. 本文简要记录了基于Solr搭建一个企业搜索服务器的过程.网上的资料太多千篇一律,也可能版本不同,总之在参照 ...

  6. [JavaScript]JS中的变量声明与有效域

    1.变量声明 var a = 1; //使用var声明变量 b = 1; //不使用var 第一种情况,在当前域中声明一个名为a的变量,如果实在方法内则为局部变量,若在最外层声明则a为全局变量. 第二 ...

  7. mysql小特性:change buffer

    change buffer是在其他数据库中没有的一个概念,说白了就是一块系统表空间分配的空间,针对的对象是辅助索引的叶子节点(为什么不是主键索引?因为主键索引是聚集索引,在磁盘上的排列是有序的,磁盘的 ...

  8. git获取步骤

    $ git init $ git config --global user.name "[name]" $ git config --global user.email [emai ...

  9. wdcp v3 pureftpd 无法登录问题解决

    wdcp v3 新建站点和ftp账号 单位无法登录ftp 在端口中也确实可以看到有进行在登录状态 错误原因: 防火墙端口没有开启该端口范围  20000-30000 这时候发现 改端口为20078  ...

  10. ruby中的return方法及class实例方法的initialize方法

    return是函数的返回值 class Mtring def initialize(str) @name = str end def aa ary = @name.split(/:/) return ...