微信小程序-小说阅读小程序实例(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 相关文章推荐
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
Oct 29 Javascript
你所未知的3种Node.js代码优化方式
Feb 25 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
Vue计算属性的学习笔记
Mar 22 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
Sep 04 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
Sep 27 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
vue 源码解析之虚拟Dom-render
Aug 26 Javascript
有趣的JavaScript隐式类型转换操作实例分析
May 02 Javascript
canvas多重阴影发光效果实现
Apr 20 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
PHP伪造referer实例代码
2008/09/20 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
laravel5.6实现数值转换
2019/10/23 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
js 内存释放问题
2010/04/25 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python中偏函数partial用法实例分析
2015/07/08 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
RIP版本1跟版本2的区别
2013/12/30 面试题
JAVA高级程序员面试题
2013/09/06 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
优秀护士演讲稿
2014/04/30 职场文书
2014年妇女工作总结
2014/12/06 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
mysql查询结果实现多列拼接查询
2022/04/03 MySQL