关于点击左侧菜单,使右侧菜单标题置顶:
使用scroll-view中,对scroll-top="0"赋值为0即可置顶
<scroll-view scroll-top="0" scroll-y class="right_content"> </scroll-view>
为了动态实现,这里使用点击事件:
wxml页面:
<scroll-view scroll-top="{{scrollTop}}" scroll-y class="right_content"> </scroll-view>
js:
data: { //右侧内容滚动条置顶: scrollTop:0 },
在点击事件中:
handleItemTap(e){ const{index} =e.currentTarget.dataset; let rightContent = this.Cates[index].children; this.setData({ currentIndex:index, rightContent, //重新设置右侧内容置顶: scrollTop:0 }) }
优化:
提取公共接口路径:
1.之前的/request/index.js是用来解构的,在之前的/request/index.js中定义公共的接口部分,然后使用传进来的url进行地址的拼接:
2.测试看效果先点击清除缓存再点击编译。
XHR是ajax请求
使用es7的async语法(解决回调地域的最终解决方案):当使用旧的手机或旧的微信小程序的时候,不建议使用es7而建议使用es6的promise避免出现问题。
1.勾选es6转es5:
2.下载facebook的库来编译async语法:
打开:https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/runtime.js
点击:
全部复制:
在小程序目录中新建文件夹:lib/runtime/runtime.js,将代码拷贝进去。
在每一个需要使用async语法的页面js文件中,都引入(不能全局引入):
import regeneratorRuntime from '../../lib/runtime/runtime';
使用:
页面之间相互传递参数:
点击商品分类里面的某件商品,带着该商品id跳转到另外一个界面上去,这里演示跳转到界面goods_list上:
在goods_list页面的js里面便可以得到这个参数:
在小程序开发者工具上可以看是否有传递参数:
现在像之前一样设置快速启动一打开便是这个goods_list界面的话需要: