一:HelloWorld 准备工作 从Hello,World!开始 了解下目录结构 小程序= app程序主体 + 页面pages app程序主体文件结构: app.js(必填) 小程序的逻辑。通过app()函数注册一个小程序,并指定生
一:HelloWorld
准备工作
从Hello,World!开始了解下目录结构小程序 = app程序主体 + 页面pages app程序主体文件结构:
页面page文件结构:
创建app.js通过开发工具的提示,使用App函数,快速生成一个小程序。
App({
onLaunch: function () {
console.log('App Launch')
},
onShow: function () {
console.log('App Show')
},
onHide: function () {
console.log('App Hide')
}
})
创建app.json一个app.json文件的配置项包含:
所以我们的app.json代码如下
{
"pages":[
"pages/index/index"
]
}
创建index页面为了便于管理,一般页面会放在pages文件夹下,一个页面一个子文件夹,里面包含js文件、wxml文件、wxss文件、json文件(4个文件名必须一致)。
?
index.js用Page函数快速生成页面实例
Page({
data:{
// text:"这是一个页面"
},
onLoad:function(options){
// 页面初始化 options为页面跳转所带来的参数
},
onReady:function(){
// 页面渲染完成
},
onShow:function(){
// 页面显示
},
onHide:function(){
// 页面隐藏
},
onUnload:function(){
// 页面关闭
}
})
index.wxml把view换成div是不是很容易理解
<view id="hello-world">
Hello,World!
<view>
index.wxss样式表的使用基本跟css一样
#hello-world{
text-align: center;
margin-top: 75%;
}
编译运行
二: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
列布局column
样式
支持滚动scroll-view?
竖向滚动注意:为了让代码更加简洁,往后文章里我去掉了标题和外包的view
样式
横向滚动
样式
其他属性
scroll-top="100" ----> 设置竖向滚动条位置
其他事件属性暂时不展开,请自行查阅官方文档 轮播swiper?
swiper-item宽高固定为swiper的100%,相当于自动填充 属性说明
indicator-dots="true" ----> 是否显示面板指示点(默认值false) 遗留问题
发现默认值是false的属性,如果我们写出来,例如vertical="false",实际仍然按照true执行,结果是轮播竖向显示。其他的属性我也尝试了,包括上面的scroll-y="false", 结果仍然支持竖向滚动,大家可以试一下。
---------已解决----------- 因此vertical="false"我们可以这样实现:
另外也发现,对于这些默认值false的属性,如果需要改成true,直接加上去就可以,例如这样:
至于为什么,暂时还没明白。 |
