IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 记录一款笑话小程序的创作完整历程(二) -> 正文阅读

[移动开发]记录一款笑话小程序的创作完整历程(二)

记录一款笑话小程序的创作完整历程(二)

笑话小程序真容-先睹为快

欢迎扫码围观,欢迎光临芝麻笑话小程序!谢谢!

在这里插入图片描述

首页

首页包含的功能:

  • 展示内容列表
  • 点击查看详情
  • 点赞
  • 点击右上角分享整个小程序
  • 分享单个内容

展示内容列表

技术点

  • v-for循环指令
  • uni-card卡片组件

技术实现

引入uni-card卡片组件

<view class="example-body">
	<uni-card :isShadow="true" :title=item.title mode="title" thumbnail="/static/zhimaxiaohua.png" note="true"
		@click="">
		<view>
			<view class="content-box">
				<text class="content-box-text">卡片内容</text>
			</view>
		</view>
		<template v-slot:footer>
			<view class="footer-box">
				<view class="applause" @click="footerClick('喜欢')">
					<text>喜欢</text>
				</view>
			</view>
		</template>
	</uni-card>
</view>

引入v-for循环指令

<view v-for="(item,index) in dataList">
	
</view>

数据展示样例

<template>
	<view>
		<view v-for="(item,index) in dataList">
			<view class="example-body">
				<uni-card :isShadow="true" :title=item.title mode="title" thumbnail="/static/zhimaxiaohua.png"
					note="true" @click="">
					<view>
						<view class="content-box">
							<text class="content-box-text">{{item.content}}</text>
						</view>
					</view>
					<template v-slot:footer>
						<view class="footer-box">
							<view class="applause" @click="footerClick('喜欢')">
								<text>喜欢</text>
							</view>
						</view>
					</template>
				</uni-card>
			</view>
		</view>
	</view>
</template>
<script>
	import indexJokeJsonData from "@/mockdata/index-jokes.json"
	export default {
		data() {
			return {
				dataList: indexJokeJsonData
			}
		}
	}
</script>

Mock的json数据
index-jokes.json

	[
		{
			"id": 1,
			"title": "芝麻笑话",
			"content": "这是内容"
		},
		{
			"id": 2,
			"title": "芝麻笑话",
			"content": "这是内容"
		},
		{
			"id": 3,
			"title": "芝麻笑话",
			"content": "这是内容"
		}

	]

点击查看详情

点击查看详情后,会跳转到详情页,跳转会携带相关的参数,比如id。

点击事件的函数:@click=“viewDetail(index)”

methods: {
			viewDetail: function(index) {
				uni.navigateTo({
					url: '/pages/joke-detail/joke-detail?index=' + index + '&dataSource=indexJokes'
				})
			}
}

详情页接收函数,需创建一个joke-detai.vue文件

<template>
	<view>
		<view class="content-box">
			<view class="head">
				<text>{{list[index].title}}</text>
			</view>
			<text class="content-box-text">
				{{list[index].content}}
			</text>
		</view>
	</view>
</template>
<script>
import indexJokeJsonData from "@/mockdata/index-jokes.json"
	
	export default {
		data() {
			return {
				list: indexJokeJsonData,
				index: 0
			}
		},
		
		onLoad: function(option) {
			this.index = option.index;
			var dataSourceParam = option.dataSource;
			
			if(dataSourceParam==='indexJokes') {
				this.list=indexJokeJsonData
			}
			
		}
	}
</script>

点赞

footerClick(types) {
				uni.showToast({
					title: types,
					icon: 'none'
				})
			}

点击右上角分享整个小程序

分享单个内容

这两部分内容会放到一个关于微信小程序分享功能的专题记述

样式汇总

index.vue首页样式

<style lang="scss">

	.example-body {
		/* #ifndef APP-NVUE */
		display: block;
		/* #endif */
		padding: 1px 0;
	}

	.example-box {
		margin: 12px 0;
	}

	.image-box {
		/* #ifndef APP-NVUE */
		display: flex;
		flex-direction: column;
		/* #endif */
		height: 350rpx;
		overflow: hidden;
	}

	.image {
		/* #ifndef APP-NVUE */
		width: 100%;
		height: 100%;
		/* #endif */
		flex: 1;
	}

	.content-box {
		padding-top: 20rpx;
	}

	.content-box-text {
		font-size: 14px;
		line-height: 22px;
	}

	.footer-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		justify-content: space-between;
		flex-direction: row;
	}

	.footer-box__item {
		align-items: center;
		padding: 1px 0;
		font-size: 12px;
		color: #666;
	}

	.applause image {
		width: 60rpx;
		height: 60rpx;
	}

	button::after {
		border: none;
	}

	.applause button {
		background-color: #FFFFFF;
	}
</style>

记录一款笑话小程序的创作完整历程(一)

记录一款笑话小程序的创作完整历程(三)

在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:59:33  更:2021-10-02 15:00:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:49:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码