这是基于(🙅)之前发布 Google Play 的 iPixel Wallpaper APP 修改而来,本就不(🏿)是为了(😿)运(📞)营,只是录做视频与文章使用,有兴趣的可以看看,当前还有 Web 版本的,目前都在同步更新中(🎨)。 本文先写写首页的内容吧,其他页面后续更新(🚲)。 最近滚回原生党,除非巨型项目,否则都会使用原生,包括但不限于小程序。 标签列表 效果: 相关代码: html 这里应该使用 scroll-view,然后设置 x 方向滚(🌲)动。因为当时写顺手了,就弄(💬)了个 view,然后手动 css 设置 x 滚动,据说性能是差一点,但(✊)是(👟)既然(🦒)代码这样,就先这样(🌨)放出来,当个反面教材。 然后,wx:for 与 wx:key 是一对冤(💈)家,基本(📱)都是一起出现,for 是循环好理解,key 是避免 for 生成的节点(🌄)不唯一导致的一些 bug,这里不细说,简单记下就是一起出现即可。对了,key 要唯一,所以一般来说,index 是最好的小伙伴。 bindtap 就是 click 事件的“别名”了,但道理上是不一样(👐)的,这样记问题不大。 data-index 就是绑定的数据,可以在 js 里面类似 DOM data 属性一样(🤛)获取到。 “{{x}}” 就是获取 js 里面声明的 data 绑定数据了,这个 data 数据是可以自动绑定(🧥)的。 其(🤨)他就是跟 HTML 区别不大(😅)了,除了标(😶)签名之外。 css css 没什(🥤)么说得,不说样式丑就行。 js 前两行是获取小程序实(🚁)例,以及第三(🦄)方相关,这里第三方就是之前项目提供数据源的地方,不打(🔻)广告,理解成后台获(✡)取资源就行,具体获取方式在 js 里面,也不要(🚼)深究。 onReady 是当前页加载前,此时获取数据,因为是异步,所以应该不会出现渲染失败。注意是应该,个人建议(🍁)还是(👀)放在 onLoad 里面, 我这里因为是第三方官网的 Demo 拷贝,就没有去改它,等下有自己写的,我都是放在 onLoad。 React 小(🔑)伙伴应该比较熟悉,这里就是小程序数据绑定修改方式,这种(🏭)方式修改可以使得 wxml(HTML)里面“{{}}”绑定的视图同步更新(👴)。 没错,this.data.x = y 可以(🥖)修改但是不能同步更新,明白(🕉)了? 注意:(💓)与 React 不同,这玩意是同步的,不是 React 那种异步,所以不存在回调处理。 tapButton 就是绑(👴)定在标签上的点击事件,与获取图片列(🐏)表有关。 那么,到这里,整个标签列表就完成了。 图片列表 效果: 相关代码: html wx:for-item 指定循环遍历使用的 item 名,配套的有 wx:for-index 指定循环遍历(😂)使用的 index 名。是的,默认不写就是 item、index。这里为了语义清楚点,就设置成 url 了。 lazy-load 说是可以懒加载,不知道是(🌳)不是我图量少,目前(🤐)没有体验出来。还是说我用错了? 至于 mode="aspectFit 就是个人喜欢小程序的一点了,图片缩放处理(🐖)已经被框(💝)架处理好,不要自己再去(💞)配置 width、height、自动缩放等等了。具体可以看官(🎤)方说明(🛍):小程序组件——image scroll-view 就不用说(⏱)了,也是框架提供好的滚动视图,设置下具体宽高,在配置想方向就可以了:scroll-y 或 scroll-x。 css 由(🏸)于我们是竖直方向滚动,所以设置的 #main 的高。原来是想像(🚍) APP 一样实现瀑布流,但是发现 Grid 小程序好像不支持?就只能退而求其次的选择比较 low 的常规两列布局了。具体 Grid 的瀑布流,效果如下: 小程序的,哎…… 中间 img-container,一样是夹层,方便以后拓展。 js 注意,默(✌)认 data 里面有一个标签,就是(🏌)为了防止第一次进来没东西。 这个就相对简单不说那么具体,提一下需要注意的优化点: 小(😸)结 欢迎关注,如有需要 Web,App,小程序,请留言联系。<view id="nav"> <button class="item" bindtap='tapButton' wx:for="{{classes}}" wx:key="{{index}}" data-index="{{index}}"> {{item}} </button></view>
#nav { white-space: nowrap; overflow-x: scroll; height: 64rpx;}#nav .item { display: inline; min-width: 120rpx; line-height: 64rpx; margin: 8rpx 0; color: grey;}
//index.js//获取应用实例const app = getApp()const AV = app.globalData.AVPage({ data: { classes: ['Asuna'], images: [], }, // 获(🎭)取标签列表 getClasses() { new AV.Query('CLASSES') .find() .then(res => { const classes = Array.from(res, item => item.get('className')) this.setData({ classes: classes }) }) .catch(console.error) }, // 点击标签 tapButton(e) { const className = this.data.classes[e.target.dataset.index] this.getImages(className) }, onReady() { this.getClasses() },})
this.setData({ classes: classes})
<scroll-view id='main' scroll-y> <view class='img-container' wx:for="{{images}}" wx:key="index" wx:for-item="url" data-index="{{index}}" bindtap='tapImage'> <image src="{{url}}" lazy-load mode="aspectFit"></image> </view></scroll-view>
#main { height: calc(100% - 64rpx);}.img-container { display: inline-block; width: 47%; height: 400rpx;}.img-container:nth-child(2n + 1) { margin-left: 2%; margin-right: 1%;}.img-container:nth-child(2n) { margin-left: 1%; margin-right: 2%}image { width: 100%; height: 100%;}
//index.js//获(🌶)取应用实例const app = getApp()const AV = app.globalData.AVPage({ data: { classes: ['Asuna'], images: [], }, // 获取标签(🚼)下图片列表 getImages(className) { this.setData({ images: [], title: className }) wx.showLoading({ title: "获取列表(🥪)数据中……" }) new AV.Query(className) .find() .then(res => { wx.hideLoading() this.setData({ images: Array.from(res, item => item.get('url')) }) }) .catch(console.error) }, onLoad() { this.getImages(this.data.classes[0]) },})
1.请问哪个网站可以免费在线观看动漫《亚洲偷拍》?
优酷视频网友:http://www.ahxhhy.com/video/3122911.html
2.《亚洲偷拍》是什么时候上映/什么时候开播的?
腾讯视频网友:上映时间为2022年,详细日期可以去百度百科查一查。
3.《亚洲偷拍》是哪些演员主演的?
爱奇艺网友:亚洲偷拍演员表有,导演是。
4.动漫《亚洲偷拍》一共多少集?
电影吧网友:目前已更新到全集已完结
5.手机免费在线点播《亚洲偷拍》有哪些网站?
手机电影网网友:美剧网、腾讯视频、电影网
6.《亚洲偷拍》评价怎么样?
百度最佳答案:《亚洲偷拍》口碑不错,演员阵容强大演技炸裂,并且演员的演技一直在线,全程无尿点。你也可以登录百度问答获得更多评价。
Copyright © 2008-2024