这是(😆)基于之(🤢)前发布 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.请问哪个网站可以免费在线观看动漫《成年无码AV片古装》?
优酷视频网友:http://www.ahxhhy.com/video/1387845491.html
2.《成年无码AV片古装》是什么时候上映/什么时候开播的?
腾讯视频网友:上映时间为2022年,详细日期可以去百度百科查一查。
3.《成年无码AV片古装》是哪些演员主演的?
爱奇艺网友:成年无码AV片古装演员表有,导演是。
4.动漫《成年无码AV片古装》一共多少集?
电影吧网友:目前已更新到全集已完结
5.手机免费在线点播《成年无码AV片古装》有哪些网站?
手机电影网网友:美剧网、腾讯视频、电影网
6.《成年无码AV片古装》评价怎么样?
百度最佳答案:《成年无码AV片古装》口碑不错,演员阵容强大演技炸裂,并且演员的演技一直在线,全程无尿点。你也可以登录百度问答获得更多评价。
Copyright © 2008-2024