开始了解下小程序的组件。源码:https://github.com/limingios/wxProgram.git 中的No.10
多个组件构成一张视图页面
>经过样式和布局,页面其实理解成html
组件包含<开始标签></结束标签>
每个组件都包含一些公用属性
官方的阐述
https://developers.weixin.qq.com/miniprogram/dev/component/
view 组件
>用的最多的,也是之前的样例也讲过。https://developers.weixin.qq.com/miniprogram/dev/component/view.html
演示用例
<!--view.wxml--> <!--手机按住1秒变成灰色,手指松开后2秒变回原来的红色--> <view class="container" hover-class='hover-class' hover-start-time="10000" hover-stay-time="2000"> </view>
.container{ background-color: red; } .hover-class{ background-color: gray; }
官网的介绍
>https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html
演示
<!--scroll-view.wxml--> <scroll-view class="container-wrapp" style='height:300rpx' scroll-y='true' bindscrolltoupper="scrolltoupper" bindscrolltolower="scrolltolower" upper-threshold="0" lower-threshold="0" scroll-top="100" enable-back-to-top="true" scroll-with-animation="true" bindscroll="scroll" scroll-into-view="b" > <view id="a" class='sizeY a'>a</view> <view id="b" class='sizeY b'>b</view> <view id="c" class='sizeY c'>c</view> <view id="d" class='sizeY d'>d</view> <view id="e" class='sizeY e'>e</view> </scroll-view> <scroll-view class="container-nowrap" style='margin-top:250rpx' scroll-x='true' scroll-left="200"> <view id="a" class='sizeX a'>a</view> <view id="b" class='sizeX b'>b</view> <view id="c" class='sizeX c'>c</view> <view id="d" class='sizeX d'>d</view> <view id="e" class='sizeX e'>e</view> </scroll-view>
//scroll-view.js //获取应用实例 Page({ scrolltoupper:function(){ console.log("滚动到顶部"); }, scrolltolower:function(){ console.log("滚动到底部"); }, scroll:function(){ console.log("滚动中。。。"); } })
.container-wrap{ display: flex; flex-wrap:wrap; } .container-nowrap{ display:flex; white-space: nowrap; } .sizeY{ width: 100%; height: 150rpx; } .sizeX{ width: 250rpx; height: 150px; display: inline-block; } .a { background: red; } .b { background: yellow; } .c { background: blue; } .d { background: green; } .e { background: gold; }
注意:enable-back-to-top=”true” 在开发工具没办法演示只能在手机上才能演示出来点击直接到达顶部的效果。关于scrollview 只有横向和纵向,其实这块还是比较重要的多加练习吧。
俗称 轮播图
官方介绍
>https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html
演示
<!--swiper.wxml--> <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> <block wx:for="{{imgUrls}}"> <swiper-item> <image src="{{item}}" class="slide-image" width="355" height="150"/> </swiper-item> </block> </swiper> <button bindtap="changeIndicatorDots"> indicator-dots </button> <button bindtap="changeAutoplay"> autoplay </button> <slider bindchange="intervalChange" show-value min="500" max="2000"/> interval <slider bindchange="durationChange" show-value min="1000" max="10000"/> duration
//swiper.js //获取应用实例 Page({ data: { imgUrls: [ 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg', 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg', 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg' ], indicatorDots: false, autoplay: false, interval: 5000, duration: 1000 }, changeIndicatorDots: function (e) { this.setData({ indicatorDots: !this.data.indicatorDots }) }, changeAutoplay: function (e) { this.setData({ autoplay: !this.data.autoplay }) }, intervalChange: function (e) { this.setData({ interval: e.detail.value }) }, durationChange: function (e) { this.setData({ duration: e.detail.value }) } })
演示
<!--movable.wxml--> <movable-area class="container"> <movable-view class='size' direction='all' inertia='true' out-of-bounds='true' x='50' y='50' damping='100' friction='100' bindchange='onchange' bindscale='onscale' scale="true"> </movable-view> </movable-area>
.container{ background-color: red; width: 100%; height: 650rpx; } .size{ background-color: yellow; width: 300rpx; height: 250rpx; }
//movable.js //获取应用实例 Page({ onchange:function(){ console.log("在移动。。"); }, onscale:function(){ console.log("在缩放") } })
PS:跟老铁一起过了一遍wx小程序关于视图的api,感觉还是组件很丰富,很好用!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。