一、TabBar
官方网址:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html
1、只能再 app.json 中配置,且 “pages”属性 第一个必须是 tabBar 中的页面,才会显示。在子页面配置均不显示。
page.json
每一个小程序页面也可以使用.json
文件来对本页面的窗口表现进行配置。 页面的配置比app.json
全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。
页面的.json
只能设置 window
相关的配置项,以决定本页面的窗口表现,所以无需写 window
这个键,
二、列表
<block wx:for="{{page}}" wx:for-index="item_index" wx:for-item="item" wx:key="category_item">
<view class="icon" bindtap="categoryIconSelected" data-page-index="{{page_index}}" data-item-index="{{item_index}}">
<image class="icon-img" src="{{item.icon_url}}"></image>
<text class="icon-title">{{item.name}}</text>
</view>
</block>
wx:for-index 的值 不能用中划线,否则 绑定事件里面读不到正确的值,回事 Nan。而且 点击事件 传递 Object。都是字符串。
三、ScrollView
必须设置 固定高度,且 设置 100% 好像不起作用,必须设置 一个数值。
<scroll-view scroll-y="true" style="height: {{viewHeight}}px;" bindscrolltolower="loadMore" bindscrolltoupper="refesh">
</scroll-view>
四、window
wx.getSystemInfo( {
success: ( res ) => {
console.log('onLoad,getSystemInfo',res)
this.setData({
viewHeight: res.windowHeight,
viewWidth: res.windowWidth
})
}
})
得到的 windowHeight 是 当前 view 的 height,并不是整个 window 的 height。会去掉 navigationBar 和 tabBar。
五、自带下拉刷新
可以在 app.json 中的 window 对全局设置,
"window":{
"navigationBarBackgroundColor": "#F85825",
"navigationBarTitleText": "",
"navigationBarTextStyle":"white",
"enablePullDownRefresh":true,
"backgroundTextStyle":"dark",
"backgroundColor":"#f5f5f5"
},
也可以单独对某一个 页面设置:
{
"navigationBarTitleText": "邻居",
"enablePullDownRefresh":true,
"backgroundTextStyle":"light",
"backgroundColor":"#ff0000"
}
但是只能设置这三个属性,不能添加 title,样式也只有两种,`light` 和 `dark`。
监听事件:
// 下拉刷新
onPullDownRefresh: function () {
console.log("onPullDownRefresh");
this.loadData()
},
stopPullDownRefresh: function () {
wx.stopPullDownRefresh({
complete: function (res) {
console.log(res, new Date())
}
})
},
// 加载更多,系统给的监听函数
onReachBottom: function () {
console.log("onReachBottom");
},
六、目前不支持自定义组件
有一个 第三方的 实现方案,重新打包了 微信开发工具,进行自定义组件。
https://github.com/maichong/labrador
七、scroll-view
不支持 bounces ,不支持 滑动到 边界以外。所以没法自己做下拉刷新。只能用系统给的接口,固定两个 模式,不能添加 文字。
八、加载更多
系统提供了整个页面滑动到底部的方法,但是效果不好,不如利用 scroll-view
的监听事件
<scroll-view scroll-y="true" style="background-color: #f5f5f5;height: {{viewHeight}}px;" bindscroll="onScroll" bindscrolltolower="onLoadMore" bindscrolltoupper="onRefesh">
九、外链
目前没有开发 外链 的接口,所以无法打开新的 webView,无法连接到我们已有的 app,导入流量。