初窥todo: 添加音乐到收藏(最近)列表 歌词滚动从一个hello world开始微信开发者工具生成 目录如下:. |-- app.js |-- app.json |-- app.wxss |-- pages | |-- index # 主页 | | |-- index.js | | ...
初窥
todo:
[ ] 添加音乐到收藏(最近)列表
[ ] 歌词滚动
从一个hello world开始微信开发者工具生成 目录如下:
. |-- app.js |-- app.json |-- app.wxss |-- pages ||-- index # 主页 |||-- index.js |||-- index.json |||-- index.wxml || `-- index.wxss | `-- log # 日志页面 |||-- log.js |||-- log.json |||-- log.wxml || `-- log.wxss `-- utils # 工具 `-- util.js大体为:
每一个page即是一个页面文件 ,每个页面有一个js/wxml/wxss/json文件 规定:描述页面的这四个文件必须具有相同的路径与文件名。
全局下同路,为公共的逻辑,样式,配置
与html不同:用view text navigator 代替 div span a
app.json: 注册pages window tabBar networkTimeout
组件说明
官方文档
weui为
小程序
提供了 weui.wxcss 但大多是造官方组件的轮子
navbar
block渲染data里面的四个tabs,slider为激活tab选项时候的表现,panel为内容面板
//js var sliderWidth = 96; // 需要设置slider的宽度,用于计算中间位置 Page({ data: { tabs: ["选项一", "选项二", "选项三"], activeIndex: 1, sliderOffset: 0, sliderLeft: 0 }, onLoad: function () { var that = this; wx.getSystemInfo({ success: function(res) { that.setData({ sliderLeft: (res.windowWidth / that.data.tabs.length - sliderWidth) / 2, sliderOffset: res.windowWidth / that.data.tabs.length * that.data.activeIndex }); } }); }, tabClick: function (e) { this.setData({ sliderOffset: e.currentTarget.offsetLeft, activeIndex: e.currentTarget.id }); } });了解mvvm思想的同学不难看出 通过tabs数组渲染出来选项后每次点击获取id 然后通过设置hidden显示或隐藏
searchbar