微信小程序开发相关记录(2017.07.25)

2024-03-17 12:08

本文主要是介绍微信小程序开发相关记录(2017.07.25),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、底部的tabBar

可设置的属性有color、selectedColor、borderStyle、backgroundColor、list至少2个,最多5个(其属性有pagePath、text、iconPath、selectedIconPath等)

"tabBar": {"color":"#dddddd","selectedColor":"#3cc51f","borderStyle":"black","backgroundColor":"#2B2B2B","list": [{"pagePath": "pages/movie/movie","text": "影院热映","iconPath": "assets/img/dy-1.png","selectedIconPath": "assets/img/dy.png"},{"pagePath": "pages/recommend/recommend","text": "电影推荐","iconPath": "assets/img/tj-1.png","selectedIconPath": "assets/img/tj.png"},{"pagePath": "pages/search/search","text": "查询电影","iconPath": "assets/img/search-1.png","selectedIconPath": "assets/img/search.png"}]},


效果如下图所示:



2、滑块视图容器swiper

swiper

滑块视图容器。

属性名类型默认值说明最低版本
indicator-dotsBooleanfalse是否显示面板指示点
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色1.1.0
indicator-active-colorColor#000000当前选中的指示点颜色1.1.0
autoplayBooleanfalse是否自动切换
currentNumber0当前所在页面的 index
intervalNumber5000自动切换时间间隔
durationNumber500滑动动画时长
circularBooleanfalse是否采用衔接滑动
verticalBooleanfalse滑动方向是否为纵向
bindchangeEventHandle
current 改变时会触发 change 事件,event.detail = {current: current, source: source}

从公共库v1.4.0开始,change事件返回detail中包含一个source字段,表示导致变更的原因,可能值如下:

  • autoplay 自动播放导致swiper变化;
  • touch 用户划动引起swiper变化;
  • 其他原因将用空字符串表示。

注意:其中只可放置<swiper-item/>组件,否则会导致未定义的行为。

swiper-item

仅可放置在<swiper/>组件中,宽高自动设置为100%。

示例代码:

<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
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})}
})



效果如下图所示:



3、豆瓣API

在浏览器中输入豆瓣电影接口地址

http://api.douban.com/v2/movie/in_theaters

然后F12,打开调试窗口,选择Console,输入var a=接口返回的json串,如下图所示:


然后回车,再输入a,再回车,即可看到已经格式化的JSON对象,如下图所示:



3、从接口获取数据进行绑定


<block wx:for="{{movies}}"><view class="movie"><view class="pic"><image mode="aspectFit" src="{{item.images.medium}}"></image></view><view class="movie-info"><view class="base-info"><text>{{item.text}}</text></view></view></view><view class="hr"></view></block>


// pages/movie/movie.js
Page({/*** 页面的初始数据*/data: {imgUrls: ['../../assets/img/001.jpg','../../assets/img/002.jpg','../../assets/img/003.jpg'],indicatorDots: true,autoplay: true,interval: 3000,duration: 1000,movies:[],hidden:false},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.loadMovie();},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {},/*** 加载电影*/loadMovie:function(){var page = this;wx.request({url: 'http://api.douban.com/v2/movie/in_theaters',header:{'Content-Type':"application/json"},success:function(res){var subjects = res.data.subjects;processSubjects(subjects);page.setData({ movies: subjects, hidden:true});}})},/*** */processSubjects: function (subjects) {//循环for (var i = 0; i < subjects.length;i++){var subject = subjects[i];this.processSubject(subject);}},/*** */processSubject:function(subject){//名称var title = subject.title;//导演var directors  = subject.directors;var directorStr = "";for (var index in directors){directorStr= directorStr+directors[index].name+" / ";}if(directorStr!=""){directorStr = directorStr.substring(0,directorStr.length-2);}//主演var casts = subject.casts;var castStr = "";for(var index in casts){castStr= castStr+casts[index].name+" / ";}if(castStr!=""){castStr= castStr.substring(0,castStr.length-2);}//类型var genres = subject.genres;var genresStr = "";for(var index in genres){genresStr = genresStr+genres[index]+" / ";}if(genresStr!=""){genresStr= genresStr.substring(0,genresStr.length-2);}//年份var year = subject.year;//拼接字符串var text = "名称:"+title+"\n导演:"+directorStr+"\n主演:"+castStr+"\n类型:"+genresStr+"\n上映年份:"+year;subject.text = text;}})


4、加载进度条


<view class="body-view"><loading hidden="{{hidden}}" bindchange="loadingChange">加载中...</loading>
</view>

data: {imgUrls: ['../../assets/img/001.jpg','../../assets/img/002.jpg','../../assets/img/003.jpg'],indicatorDots: true,autoplay: true,interval: 3000,duration: 1000,movies:[],hidden:false},

/*** 加载电影*/loadMovie:function(){var page = this;wx.request({url: 'https://api.douban.com/v2/movie/in_theaters',header:{'Content-Type':"application/json"},success:function(res){var subjects = res.data.subjects;processSubjects(subjects);page.setData({ movies: subjects, hidden:true});}})},

5、如果出现请求的URL地址不在合法域名列表中的话,会出现如下问题:



  • 解决方案:打开小程序微信公众平台设置小程序开发设置,配置服务器合法域名(必须是https),如下图所示:






这篇关于微信小程序开发相关记录(2017.07.25)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818906

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

Node Linux相关安装

下载经编译好的文件cd /optwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gztar -xvf node-v10.15.3-linux-x64.tar.gzln -s /opt/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/ln -s /opt/nod

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给