首页 » PHP教程 » php实现tabbar技巧_关于小轨范tabbar不支持传参的处理办法

php实现tabbar技巧_关于小轨范tabbar不支持传参的处理办法

访客 2024-12-15 0

扫一扫用手机浏览

文章目录 [+]

<navigator url='../service/service?typeid=6' openType=\"大众switchTab\"大众> 做事项目 </navigator>

上面的navigater跳转有个属性:openType=\公众switchTab\"大众意思是打开tabbar页面service,虽然有个参数typeid=6,但是typeid=6并不能呗tabbar页面吸收,造成打开tabbar页面的时候用于都是默认栏目。

(1)第一步:通过bindtap绑定方法触发缓存,把typeid存起来

php实现tabbar技巧_关于小轨范tabbar不支持传参的处理办法

虽然tabbar不支持传参,但是我们可以通过缓存的办法获取通报的参数,那么上面的navigator直接跳转的办法就弗成了,须要封装一个方法:

php实现tabbar技巧_关于小轨范tabbar不支持传参的处理办法
(图片来自网络侵删)

<view class='4d686a1e69d42069 service_li' bindtap='show_service' data-typeid='11' data-listtype='3'> 做事项目 </view>

index页面的“做事项目”通过bindtap绑定一个show_service方法,这个show_service会通报后边的data-里边的所有参数。

在index.js中写上show_service方法:

show_service: function (e) { var data = e.currentTarget.dataset; var title = data.title; //获取通报的title var typeid = data.typeid; //获取通报的typeid var listtype = data.listtype; //获取通报的listtype //通过setStorageSync方法将typed存入stypeid中,名字可以自己任意定 wx.setStorageSync('stypeid', typeid) wx.switchTab({ //通过switchTab方法跳转到对应页面 url: '/pages/service/service?typeid=' + typeid + \公众&title=\"大众 + title + \公众&listtype=\公众 + listtype, //后边参数实在无效可以直接写成:‘/pages/service/service’ }) },

这样我们就把用户点击首页所通报的参数typeid存到缓存里边了

(2)第二步:在service中去获取typeid

在service.js中的onload或者onshow中加入typeid的方法,为了兼容用户是直接通过tabbar进入的情形,须要一个默认的typeid,参考代码:

var stypeid = wx.getStorageSync('stypeid');//通过缓存获取typeid var typeid = stypeid ? stypeid : that.data.typeid; //如果stypeid存在读取,否则读取默认的typeid

然后我们可以直接通过getList()方法直接读取api获取内容列表了

that.getList(typeid);

解释:

(1)如果你不是通过首页的show_service方法进入service页面的,那么就不会触发更新缓存,以是typeid的值是不会变的,通过点击tabbar进入service页面会永久显示某一个页面,你可以在onHide方法中增加一个重置或者情形stypied的方法,不过不建议这么弄

(2)service页面的切换栏目后,我们可以在switch_tab方法中加入修正缓存的方法,动态存入当前栏目的typeid

switch_cat: function (e) { var that = this; var CATEGORYS = wx.getStorageSync('categorys')//调用栏目缓存 var data = e.currentTarget.dataset; var typeid = data.typeid; var listtype = data.listtype; var curtypeid = data.typeid; that.setData({ curtypeid: curtypeid, listtype: listtype, page: 1 }) wx.setNavigationBarTitle({ title: CATEGORYS[curtypeid]['typename'] + '-' + wx.getStorageSync('system').seotitle }); that.getList(typeid); },

不过,切换栏目时候,要不要变动缓存,根据自己须要,没必要必须切换

同理,如果你设置新闻页面、案例页面等页面的时候可以用同样的方法 存入缓存然后新闻、案例通过缓存判断须要显示的栏目

比如新闻:

wx.setStorageSync('newsid', typeid)//存入newsid

dedecms小程序插件,让你无需有php或sql根本,不须要依赖任何第三方网站授权,后台一键安装,小程序分分钟配置完成,让你拥有真正属于自己的小程序!

标签:

相关文章

大数据时代下的壶妹,智能生活的典范

随着科技的飞速发展,大数据已经成为现代社会不可或缺的一部分。在众多大数据应用场景中,壶妹作为一个集智能家居、健康养生于一体的智能产...

PHP教程 2024-12-16 阅读0 评论0

php获取所有子类技巧_PHP 面向对象

在现实天下里我们所面对的事情都是工具,如打算机、电视机、自行车等。工具的紧张三个特性:工具的行为:可以对 工具施加那些操作,开灯,...

PHP教程 2024-12-16 阅读0 评论0