十一、案例:TabBar的封装
0、案例效果演示:
一、TabBar实现思路
如果在下方有一个单独的TabBar组件,你如何封装
自定义TabBar组件,在APP中使用
让TabBar出于底部,并且设置相关的样式TabBar中显示的内容由外界决定
定义插槽
flex布局平分TabBar自定义TabBarItem,可以传入 图片和文字
定义TabBarItem,并且定义两个插槽:图片、文字。
给两个插槽外层包装div,用于设置样式。
填充插槽,实现底部TabBar的效果
传入 高亮图片
定义另外一个插槽,插入active-icon的数据
定义一个变量isActive,通过v-show来决定是否显示对应的iconTabBarItem绑定路由数据
安装路由:npm install vue-router —save
完成router/index.js的内容,以及创建对应的组件
main.js中注册router
APP中加入<router-view>
组件点击item跳转到对应路由,并且动态决定isActive
监听item的点击,通过this.$router.replace()
替换路由路径
通过this.$route.path.indexOf(this.link) !== -1
来判断是否是active动态计算active样式
封装新的计算属性:this.isActive ? {‘color’: ‘red’} : {}
目录结构:
完整代码如下:
十一、案例:TabBar的封装相关推荐
- 指针||指针和数组||指针和函数||指针、数组、函数 案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序
指针 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名 ...
- Vue学习小案例--分页组件封装
文章目录 Vue学习小案例--分页组件封装 修改成Vue(使用组件) Vue学习小案例–分页组件封装 index.html <!DOCTYPE html> <html lang=&q ...
- Vue(小码哥王洪元)笔记07路由案例tabbar
1.tabbar案例01 进行了简单的布局 1.创建一个样式文件base.css body{margin:0; padding: 0;} 2.修改App.vue <template>< ...
- Tabbar组件封装
TabBar实现思路 1.如果在下方有一个单独的TabBar组件,你如何封装 自定义TabBar组件,在APP中使用 让TabBar出于底部,并且设置相关的样式 2.TabBar中显示的内容由外界决定 ...
- canvas:心率图案例 + ES5/ES6封装该案例
主要目的是练习:ES5中函数的封装 和 ES6中class类的封装 1.没有封装 <body><style>canvas {border: 1px skyblue solid; ...
- Vue2.0开发之——购物车案例-Footer组件封装-计算商品的总价格(51)
一 概述 App.vue中计算勾选商品的总价格 定义子组件Footer中的商品总价格 将App.vue中商品的总价格传递给Footer显示 二 App.vue中计算勾选商品的总价格 2.1 商品总价格 ...
- 案例,使用封装实现电子宠物系统的企鹅类正确输入健康值和亲密度
要求 保证健康值的有效性(0-100),否则取默认值60 保证亲密度的有效性(0-100),否则取默认值60 步骤一. public class Penguin {private String nam ...
- python-面向对象-05_面向对象封装案例 II
面向对象封装案例 II 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象, ...
- Python之 面向对象封装案例
面向对象封装案例 目标 封装 小明爱跑步 存放家具 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 ...
最新文章
- 开发者说:基于 Nacos 的网关灰度路由和服务权重灰度
- BZOJ 2141 排队(块套树,分块,树状数组)【BZOJ修复工程】
- pandas 增加列
- 蓝牙(BLE)应用框架接口设计和应用开发——以TI CC2541为例
- 关于vs生成app错误提示,提醒Execution failed for task ':transformClassesWithDexForDebug'.
- 【原创】再见,CVT----记搓人的第一次找实习
- 【深度学习】NetAug(网络增强)—Dropout的反面
- leetcode 668. Kth Smallest Number in Multiplication Table | 668. 乘法表中第k小的数(二分查找)
- 互联网java常用框架_来,带你鸟瞰 Java 中4款常用的并发框架!
- 初识Spring Boot
- zbb20180613 Spring MVC实现大文件下载功能
- cygwin安装之后,可以复制到其他机器使用
- 【CAD开发】3dxml文件格式读取(Python、C++、C#)
- 哪个手机浏览器可以倍速_手机四款浏览器APP的比较
- 32位操作系统电脑上的打印机如何共享给64位操作系统的电脑想要使用_hudingyin_新浪博客
- STM32超低功耗入门之认识超低功耗
- Linux SPI 子系统(x86平台)
- Jackson,Gson,Fastjson 的对比
- 超级详细树讲解三 —— B树、B+树图解+代码
- Python 爬虫下一代网络请求库 httpx 和 parsel 解析库测评
热门文章
- Diango博客--1.Django的接客之道
- 成本预算的四个步骤_全网推广步骤有哪些?
- Python元类(type()和metaclass)
- JS_14 执行上下文与执行上下文栈
- C++异常以及错误处理
- 本地音频播放,使用AVFoundation.framework中的AVAudioPlayer来实现
- android关机分区卸载,Android关机重启流程(二)
- 链表(单链表、双链表、内核链表)
- 驱动框架1——什么是驱动框架?
- Linux 移除python Error: Trying to remove “yum”, which is protected