微信小程序  简单实例(阅读器)的实例开发


Posted in Javascript onSeptember 29, 2016

今天和朋友聊天说到小程序,然后看在看书,然后我们就弄了个小读书的demo,然后现在分享一下。

一、先来上图:

微信小程序  简单实例(阅读器)的实例开发

二、然后下面是详细的说明

  首先先说下边的tabBar,项目采用json格式的数据配置,不得不说,现在这个是趋势,.net core的配置也是这种方式了(暴露我是.net 阵营了)。

  在这里好多同学会发现好多颜色的配置都不管用,是的,现在有效的颜色是有限制的,具体的大家可以进入官方文档去查看。需要几个tabBar,就在list里面写几个,本篇问是三个,所以,你看了三个。上面的iconPath那就是tabBar的图标了,这个大小也是有限制的,40kb。然后,pagePath呢,就是此tabBar对应的页面链接。text就是限制内容,这里不多说了。

"tabBar": {
  "color": "#dddddd",
  "selectedColor": "#d92121",
  "borderStyle": "white",
  "backgroundColor": "#fff",
  "list": [{
   "pagePath": "pages/index",
   "iconPath": "images/main.png",
   "selectedIconPath": "images/main-s.png",
   "text": "主页"
  },{
   "pagePath": "pages/layout/hot",
   "iconPath": "images/hot.png",
   "selectedIconPath": "images/hot-s.png",
   "text": "最热"
  },{
   "pagePath": "pages/layout/new",
   "iconPath": "images/new.png",
   "selectedIconPath": "images/new-s.png",
   "text": "最新"
  }]
 },

打开项目代码目录,如下:

微信小程序  简单实例(阅读器)的实例开发

这里发现样式和wxml以及js文件全是同名的,这是默认写法,这样默认三个文件就关联了。这又叫做:默认大于配置。

我们打开首页index页面

微信小程序  简单实例(阅读器)的实例开发

可以看到上面的页面生命周期,我们可以在事件中写我们自己要处理的事件。

其中getApp();方法获取全局实例。

我们打开视图页面

微信小程序  简单实例(阅读器)的实例开发

这里看到箭头指向的 wx:for=“”,这个是一个出来数组或列表对象的循环方法,而item是默认(又是默认)的单个列表元素。用不不想用item也可以起别名。

navigator就是导航标签了,这里,类似于html中的<a>标签,就不在说了。点击navigator的内容页面跳转对应页面,同样是用url传递数据。

     微信小程序  简单实例(阅读器)的实例开发 

我们可以看到后台的代码:

微信小程序  简单实例(阅读器)的实例开发

数据可以通过url传递,目标页面通过onLoad方法中的参数( 对象)获取。这里还可以看到书的详情是通过全局getApp获取全局实例,获取数据。这个数据就是在全局app.js里面,如下图:

微信小程序  简单实例(阅读器)的实例开发

具体代码:

//app.js
App( {
  getBanner:function(){
    var bannerUrl=["../images/banner.jpg"];
    return bannerUrl;
  },
  getOneBook:function(id){
    var abook;
   var books = [
          {  id:"1",
            bookUrl:"../images/img1.jpg",
            bookName:"西方哲学史",
            bookInfor:"关于哲学"
          },
          { 
            id:"2",
            bookUrl:"../images/tmd.jpg",
            bookName:"塔木德",
            bookInfor:"关于信仰"            
          },
          {
            id:"3",
            bookUrl:"../images/holy.jpg",
            bookName:"圣经",
            bookInfor:"关于信仰" 
          },
          {
            id:"4",
            bookUrl:"../images/yuz.jpg",
            bookName:"果壳中的宇宙",
            bookInfor:"关于科学"
          },
          {
            id:"5",
            bookUrl:"../images/dream.jpg",
            bookName:"理想国",
            bookInfor:"关于哲学"
          },
          {
            id:"6",
            bookUrl:"../images/out.jpg",
            bookName:"失控",
            bookInfor:"关于经济"
          }
          ];
        for(i=0;i<books.length;i++){
          if(books[i].id == id){
            abook = books[i]; 
          }
        }
         return abook;
 },
  getBoookList:function(){
    var indexList = [
          {  id:"1",
            bookUrl:"../images/img1.jpg",
            bookName:"西方哲学史",
            bookInfor:"关于哲学"
          },
          { 
            id:"2",
            bookUrl:"../images/tmd.jpg",
            bookName:"塔木德",
            bookInfor:"关于信仰"            
          },
          {
            id:"3",
            bookUrl:"../images/holy.jpg",
            bookName:"圣经",
            bookInfor:"关于信仰" 
          },
          {
            id:"4",
            bookUrl:"../images/yuz.jpg",
            bookName:"果壳中的宇宙",
            bookInfor:"关于科学"
          },
          {
            id:"5",
            bookUrl:"../images/dream.jpg",
            bookName:"理想国",
            bookInfor:"关于哲学"
          },
          {
            id:"6",
            bookUrl:"../images/out.jpg",
            bookName:"失控",
            bookInfor:"关于经济"
          }
          ];
 
           return indexList;
        }
 
        
})

然后about页面

微信小程序  简单实例(阅读器)的实例开发

三,结尾

没多少东西,有兴趣可以下载源码查看,下面放源码地址。

最后,放上程序的源码地址:http://www.cwechat.org/thread-25-1-1.html

Javascript 相关文章推荐
JavaScript Event学习第十章 一些可替换的事件对
Feb 10 Javascript
JavaScript获取页面上某个元素的代码
Mar 13 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
深入探寻javascript定时器
Jan 02 Javascript
javascript解决小数的加减乘除精度丢失的方案
May 31 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 Javascript
vue+element ui实现锚点定位
Jun 29 Vue.js
jQuery 特性操作详解及实例代码
Sep 29 #Javascript
JS中常用的正则表达式
Sep 29 #Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 #Javascript
js创建对象几种方式的优缺点对比
Sep 28 #Javascript
AngularJS表单验证中级篇(3)
Sep 28 #Javascript
微信公众号 客服接口的开发实例详解
Sep 28 #Javascript
jQuery解析XML 详解及方法总结
Sep 28 #Javascript
You might like
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
Python中使用中文的方法
2011/02/19 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
矫正人员思想汇报
2014/01/08 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
2016新年问候语大全
2015/11/11 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电