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


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 相关文章推荐
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
js查错流程归纳
May 04 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
Jul 10 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
JS辨别访问浏览器判断是android还是ios系统
Aug 19 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
微信小程序教程系列之新建页面(4)
Apr 17 Javascript
详谈js模块化规范
Jul 07 Javascript
node.js express中app.param的用法详解
Jul 16 Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 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
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
PHP DataGrid 实现代码
2009/08/12 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
教师产假请假条
2014/04/10 职场文书
班主任高考寄语
2015/02/26 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB