本文仅供参考,本文写于上个开发者版本时期 一:HelloWorld 准备工作 开发工具安装好后,新建一个项目,记得取消勾选创建quick start项目 从Hello,World!开始 了解下目录结构 小程序=
|
本文仅供参考,本文写于上个开发者版本时期
一:HelloWorld
准备工作
从Hello,World!开始了解下目录结构小程序 = app程序主体 + 页面pages app程序主体文件结构:
页面page文件结构:
创建app.js通过开发工具的提示,使用App函数,快速生成一个小程序。
创建app.json一个app.json文件的配置项包含:
所以我们的app.json代码如下
{
"pages":[
"pages/index/index"
]
}
创建index页面为了便于管理,一般页面会放在pages文件夹下,一个页面一个子文件夹,里面包含js文件、wxml文件、wxss文件、json文件(4个文件名必须一致)。
?
index.js用Page函数快速生成页面实例
编译运行
二:json配置项 准备工作?
14-46-45.jpg
改变下导航栏?
在app.json中添加window相关配置项:
"window":{
"navigationBarTitleText":"小程序学习笔记", //导航栏标题
"navigationBarTextStyle":"black", //标题颜色,默认black,可选white
"navigationBarBackgroundColor":"#eee", //导航栏背景色,默认#000
//下面影响的是下拉刷新的部分,还没研究出怎么实现
"backroundColor":"#555", //窗口背景色,默认#fff
"backroundTextStyle":"dark", //下拉字体样式,默认dark,可选light
"enablePullDownRefresh": true //是否支持下拉刷新,默认false
}
写个tabBar吧?
tabBar最少2个,最多5个tab
"tabBar":{
"color":"#999", //字体颜色,必填
"selectedColor":"#56abe4", //选中状态字体颜色,必填
"backroundColor":"#fff", //背景色,必填
"borderStyle":"white", //上边框颜色,非必填,默认black,可选white
//list数组,为每一个tab的配置,必填。tab排序与数组排序一致
"list":[
{
"pagePath":"pages/index/index", //页面路径
"iconPath":"images/tabBar/article.png", //icon路径
"selectedIconPath":"images/tabBar/articleHL.png", //选中状态icon路径
"text":"笔记" //文字
},
{
"pagePath":"pages/my/my",
"iconPath":"images/tabBar/my.png",
"selectedIconPath":"images/tabBar/myHL.png",
"text":"我的"
}
]
}
page的json?
page也是支持json文件的,不过只能配置window相关的,因此无需写window这个键
{
"navigationBarTitleText":"我的"
}
json配置项里还剩下networkTimeOut 和 debug,以后用到再说吧 三:视图容器 准备工作
创建公共样式因为后面都是学习各个组件的使用,页面结构基本保持一致,一个view包裹着标题+组件内容。因此这里创建公共样式,代码如下:
.section{
margin: 20px 0;
}
.section-title{
margin-bottom: 10px;
font-weight: bold;
}
view视图容器的两种排列布局?
行布局row
<!--横向排列view-->
<view class="section">
<view class="section-title">flex-direction:row</view>
/*通过flex-direction:row 样式控制*/
<view class="flex-wrp" style="flex-direction:row;">
<view class="flex-item box-red">1</view>
<view class="flex-item box-blue">2</view>
<view class="flex-item box-green">3</view>
</view>
</view>
列布局column
<!--竖向排列view-->
<view class="section">
<view class="section-title">flex-direction:column</view>
/*改变row为column*/
<view class="flex-wrp" style="flex-direction:column;">
<view class="flex-item box-red">1</view>
<view class="flex-item box-blue">2</view>
<view class="flex-item box-green">3</view>
</view>
</view>
样式
.flex-item{
width: 100px;
height: 100px;
color: #fff;
}
.flex-wrp{
display: flex; /*不要忘记*/
}
支持滚动scroll-view?
竖向滚动注意:为了让代码更加简洁,往后文章里我去掉了标题和外包的view
<!--需要给定容器一个固定高度-->
<scroll-view scroll-y="true" style="height:200px;">
<view id="red" class="scroll-view-item box-red"></view>
<view id="blue" class="scroll-view-item box-blue"></view>
<view id="green" class="scroll-view-item box-green"></view>
</scroll-view>
样式
.scroll-view-item{
width: 100%;
height: 200px;
}
横向滚动
<!--记得加white-space:nowrap; 规定不换行-->
<scroll-view scroll-x="true" style="white-space:nowrap;">
<view id="red-H" class="scroll-view-item-H box-red"></view>
<view id="blue-H" class="scroll-view-item-H box-blue"></view>
<view id="green-H" class="scroll-view-item-H box-green"></view>
</scroll-view>
样式
.scroll-view-item-H{
display: inline-block; /*不要忘记*/
width: 100%;
height: 200px;
}
其他属性
scroll-top="100" ----> 设置竖向滚动条位置
其他事件属性暂时不展开,请自行查阅官方文档 轮播swiper?
<swiper indicator-dots="true" autoplay="true" current="1" interval="4000" duration="1000" vertical="true" style="height:200px;">
<swiper-item class="box-red"></swiper-item>
<swiper-item class="box-blue"></swiper-item>
<swiper-item class="box-green"></swiper-item>
</swiper>
swiper-item宽高固定为swiper的100%,相当于自动填充 属性说明
indicator-dots="true" ----> 是否显示面板指示点(默认值false) 遗留问题
发现默认值是false的属性,如果我们写出来,例如vertical="false",实际仍然按照true执行,结果是轮播竖向显示。其他的属性我也尝试了,包括上面的scroll-y="false", 结果仍然支持竖向滚动,大家可以试一下。
---------已解决----------- 因此vertical="false"我们可以这样实现:
另外也发现,对于这些默认值false的属性,如果需要改成true,直接加上去就可以,例如这样:
<!--直接写scroll-y,而不是scroll-y="true"-->
<scroll-view scroll-y style="height:200px;">
<view id="red" class="scroll-view-item box-red"></view>
<view id="blue" class="scroll-view-item box-blue"></view>
<view id="green" class="scroll-view-item box-green"></view>
</scroll-view>
至于为什么,暂时还没明白。 总结一下:对于默认值false的属性,如果想要改成true,直接加上去即可,如果不需要,去掉就行 |
