微信小程序-小说阅读小程序实例(demo)


Posted in Javascript onJanuary 12, 2017

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

一、先来上图:

微信小程序-小说阅读小程序实例(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": "最新"

  }]

 },

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

微信小程序-小说阅读小程序实例(demo)

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

我们打开首页index页面

微信小程序-小说阅读小程序实例(demo)

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

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

我们打开视图页面

微信小程序-小说阅读小程序实例(demo)

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

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

微信小程序-小说阅读小程序实例(demo)

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

微信小程序-小说阅读小程序实例(demo)

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

微信小程序-小说阅读小程序实例(demo)

具体代码:

//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;

        }
       
})

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

三、最后

最后,放上程序的源码地址:demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery跨浏览器显示的file上传控件
Oct 24 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
Jquery调用iframe父页面中的元素及方法
Aug 23 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
Dec 09 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
Sep 12 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
JS数据类型STRING使用实例解析
Dec 18 Javascript
简单了解three.js 着色器材质
Aug 03 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 #Javascript
JS实现仿百度文库评分功能
Jan 12 #Javascript
移动端基础事件总结与应用
Jan 12 #Javascript
微信小程序 PHP后端form表单提交实例详解
Jan 12 #Javascript
简单的渐变轮播插件
Jan 12 #Javascript
那些精彩的JavaScript代码片段
Jan 12 #Javascript
JavaScript实现星级评分
Jan 12 #Javascript
You might like
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
用PHP实现递归循环每一个目录
2010/08/08 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
jquery 插件学习(五)
2012/08/06 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Python开发常用的一些开源Package分享
2015/02/14 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python之修改图片像素值的方法
2019/07/03 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
EJB面试题
2015/07/28 面试题
歌颂祖国的演讲稿
2014/05/04 职场文书
装修活动策划方案
2014/08/27 职场文书
三八妇女节致辞
2015/07/31 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL