当前位置: 首页 > ops >正文

uni-app项目实战笔记6--同一组件使用Props传递不同的值

先来看效果:

本篇实现最后一张“更多”图的效果,前8张图点击跳转到查看详情页面,而点击“更多”则跳转到分类页面,因此在跳转处理上需要区别对待。视觉展示上也要营造出不同的效果。在上一篇笔记的基础上,我们增加一个navigator用于实现“更多”:

<template><view class="themeItem"><navigator url="" class="box" v-if="!isMore"><image class="pic" src="/common/images/classify1.jpg" mode="aspectFill"></image><view class="tab">3天前更新</view><view class="mask">明星美女</view></navigator><navigator url="" class="box more" v-if="isMore"><image class="pic" src="/common/images/more.jpg" mode="aspectFill"></image><view class="mask"><uni-icons type="more-filled" size="34" color="#fff"></uni-icons><text class="text">更多</text></view></navigator></view>
</template>

主要增加这部分代码:

<navigator url="" class="box more" v-if="isMore"><image class="pic" src="/common/images/more.jpg" mode="aspectFill"></image><view class="mask"><uni-icons type="more-filled" size="34" color="#fff"></uni-icons><text class="text">更多</text></view>
</navigator>

要点:

1.class="box more":使该部分继承(拥有)前面定义的box样式,同时又拥有自己的特性;

2.type="more-fille"引入uniapp扩展组件--更多的图标。

CSS代码:

.box.more{.mask{width: 100%;height: 100%;flex-direction: column;}.text{font-size: 28rpx;}
}

flex-direction: column; 是 CSS Flexbox 布局的一个属性,它决定了 flex 容器(父元素)中子元素的排列方向。

效果说明:
当给一个 display: flex; 的容器设置 flex-direction: column; 时,它的子元素会 垂直排列(从上到下),而不是默认的水平排列(从左到右)。

为了实现正常显示图片和更多的效果,我们可以定义一个isMore的属性:

在theme-item定义isMore属性,默认值为false:

<script setup>defineProps({isMore:{type:Boolean,default:false}})
</script>

然后在index.vue原先引入theme-item公共组件的地方再引入一个theme-item组件:

<view class="content"><theme-item v-for="item in 8"></theme-item><theme-item :isMore="true"></theme-item>
</view>

通过子组件传入true,让组件显示为“更多”:最后一张图显示为更多的效果。前8张图未传isMore则使用默认值false:显示正常的图片效果。

http://www.xdnf.cn/news/14073.html

相关文章:

  • springMVC-13 文件下载及上传
  • 英伟达诉求1亿IOPS SSD:打破AI算力存储瓶颈
  • 从技术视角解析星黎语音交互机器人的创新与行业影响
  • 分布式定时任务系列12:XXL-job的任务触发为什么是死循环?
  • IPv4详解
  • FWFW - Find Websites From World
  • Vue3中v-bind=“$attrs“用法讲解
  • el-table跨页多选和序号连续
  • Burn 开源程序是下一代深度学习框架,在灵活性、效率和可移植性方面毫不妥协
  • 使用Docker安装FFmpeg
  • 【Jmeter】Jmeter 高并发性能压力测试
  • 融智学教育观及其数学公式体系凝练汇总
  • 儿童智能玩具与传统玩具的区别
  • 倍思Nomos多合一桌面充:第六代氮化镓快充技术加持,性能全面提升
  • 【动手学深度学习】3.4. softmax回归
  • 鸿蒙开发-视频学习及实用中的一些小结
  • pytorch实战波斯顿房价回归模型
  • LINE 接入说明
  • 解决麒麟国产操作系统,分辨率下拉框是空白问题。
  • dsp28335
  • 洛谷自己创建的一个小比赛【c++】
  • 【win10神州网信政府版开启远程桌面服务mstsc 】
  • rk3568 , gt1x , 触摸的调试
  • Java Spring ApplicationEvent 概述
  • JavaScript数组方法总结
  • ShardingSphere实现分库分表
  • Vulkan学习笔记6—渲染呈现
  • 目前流行Agent框架对比表
  • Kubernetes安全机制深度解析(三):准入控制器
  • 解析OpenFOAM polymesh网格文件的C/C++程序实现