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


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注入技巧
Jun 22 Javascript
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
一行命令搞定node.js 版本升级
Jul 20 Javascript
JavaScript实现找出数组中最长的连续数字序列
Sep 03 Javascript
jquery datatable服务端分页
Aug 31 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
vue获取时间戳转换为日期格式代码实例
Apr 17 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 Javascript
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
phpBB BBcode处理的漏洞
2006/10/09 PHP
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jquery移动节点实例
2015/01/14 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Django中使用Celery的方法示例
2018/11/29 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Django的models模型的具体使用
2019/07/15 Python
python 实现矩阵按对角线打印
2019/11/29 Python
美国糖果店:Sugarfina
2019/02/21 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
初三家长会邀请函
2014/01/18 职场文书
激励员工的口号
2014/06/16 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
降价通知函
2015/04/23 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
禁毒主题班会教案
2015/08/14 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android