2021-12-09 vue移动端卖座电影项目(九) 使用事件总线EvenetBus控制选项卡tabbar的显隐(进入入详情页时隐藏)
文章目录
- 0.事件总线复习
- 1.显隐逻辑
- 2.Detail.vue和它要控制的tabbar.vue不是父子关系
- 3.使用中央事件总线来控制
- 4.效果
0.事件总线复习
2021-10-21 vue笔记-组件化开发(四) 组建通信:非父子通信-事件总线,在vue项目中使用eventbus的例子
1.显隐逻辑
Detail.vue
beforeMount(){console.log("隐藏tabbar...");},mounted(){...},beforeDestroy(){console.log("显示tabbar...");},
2.Detail.vue和它要控制的tabbar.vue不是父子关系
3.使用中央事件总线来控制
思路是组件化开发,创建全局的中央事件总线EventBus
- 利用现有文件src/Eventbus.js
import Vue from "vue"
// export default new Vue();
const Eventbus = new Vue();
export default Eventbus
- 给tabbar的占位符加v-show判断,在App.vue中引入Eventbus并接收事件’xianshi’
App.vue
<template><div class="wrapper"><!-- 轮拨图组件 --><!-- 把选项卡中的电影,个人中心等封装到单独组件tabbar中 --><tabbar v-show="showTabbar"></tabbar><router-view></router-view></div>
</template>
<script>// 导入组件tabbarimport tabbar from "./components/tabbar"// 导入Eventbusimport Eventbus from "./eventbus"export default {name: "App",data(){return{showTabbar:true}},components: {tabbar,},mounted(){Eventbus.$on('xianshi',(data)=>{console.log("是否显示:",data);})}};
</script>
- 在Detail.vie引入Eventbus并触发事件’xianshi’
Detail.vue
// 引入事件总线
import Eventbus from "../eventbus"
export default {beforeMount(){//console.log("隐藏tabbar...");Eventbus.$emit('xianshi',false);},mounted(){...},beforeDestroy(){//console.log("显示tabbar...");Eventbus.$emit('xianshi',true);},
- 把data赋给v-show的自定义属性showTabbar
App.vue
mounted(){Eventbus.$on('xianshi',(data)=>{this.showTabbar=data;})}
4.效果
http://localhost:8081/#/Film/nowPlaying中底部tabbar显示
http://localhost:8081/#/Detail/6112中tabbar消失
2021-12-09 vue移动端卖座电影项目(九) 使用事件总线EvenetBus控制选项卡tabbar的显隐(进入入详情页时隐藏)相关推荐
- 2021-11-27 vue移动端卖座电影项目(二) 封装选项卡,引入iconfont,nowPlaying获取数据后写样式
文章目录 1.封装选项卡 2.设置iconfont 3.nowPlaying获取数据后写样式 3.1.获取后台数据 3.2.从data对象获取电影海报,标题,评分 3.3.过滤data.actor,获 ...
- 2021-12-10 vue移动端卖座电影项目(十) 使用状态管理模式vuex的state控制选项卡tabbar的显隐,mutation的用法,this.$store.commit()的两个参数
文章目录 0.vuex复习 1.引入 2.在state中存showTabbar后,直接可以引用 3.在Detail.vue的两个钩子函数中设置控制showTabbar的布尔值 4.效果:实现进入详情页 ...
- 2022-11-17 vue移动端卖座电影项目(一) 获取后台数据
0.目标网页 卖座电影 1.获取url数据 位置:网络>复制>复制链接地址 2.获取电影列表数据 字段获取:网络>标头>请求标头> 3.代码 views/nowPlayi ...
- 2021-12-14 vue移动端卖座电影项目(十二) 使用mapState控制封装选项卡tabbar的显隐,以及回顾使用中央事件总线eventbus和vuex的state控制tabbar显隐的异同
文章目录 0.实现场景:进入详情页时,底部选项卡隐藏 1.使用中央事件总线控制tabbar的v-show的值 2.使用vuex的state控制tabbar的v-show的值 3.使用vuex的muta ...
- 2021-12-11 vue移动端卖座电影项目(十一) comingSoon用后台获取的数据写样式,以及用vuex的Action处理异步问题:切换FilmHeader中的两个标签时直接缓存数据
文章目录 0.vuex工作流程图复习 1.思路 2.axios获取后台数据(仿nowPlaying页即可) 3.用vuex的Action处理异步问题:切换FilmHeader中的"正在热映& ...
- 2021-12-05 vue移动端卖座电影项目(六) 为详情页面Detail.vue获取后台数据并设置样式
1.带着id传到详情页面中 效果:点击任一电影,跳转进Detail.vue页面时后面自动拼接上电影的filmId http://localhost:8081/#/Detail/6112 http:// ...
- 2021-12-07 vue移动端卖座电影项目(七) 封装轮拨组件,使之可用于详情页Detail,实现演职员表的轮拨和剧照的轮拨
文章目录 0.实现效果 1.封装详情页的轮拨组件DetailSwiper 2.perView:显示张数设置为动态,两个轮拨图分别初始化的方法:重命名并获取当前的class名 3.最终代码和效果 代码 ...
- 2021-11-30 vue移动端卖座电影项目(四) 当前项目代码
文章目录 0.目录和package.json依赖 1.src/assets/iconfont(文件夹) 2.src/components/tabbar.vue 3.router/index.js 4. ...
- 2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式
文章目录 1.引入swiper.vue组件 目的 步骤 结果 2.把swiper-slide做成匿名插槽 3.Film.vue中通过axios请求获取后台轮播图片 目的 步骤 因为现在原网站已取消轮拨 ...
最新文章
- 微信架构 支付架构(上)
- Quartz2D绘图
- Python命令行参数解析模块------argparse
- 在SQL Server中如何获得刚插入一条新记录的自动ID号
- 51Nod 1003 阶乘后面0的数量 | 思维
- 如何在Python中安全地创建嵌套目录
- Docker之获取镜像(一)
- 哪所985计算机专业招文科,4张表看透36所985大学自主招生专业
- 第一章数据结构和算法简介
- vivox6Android版本,vivo x6有几个版本?vivo x6各版本区别对比评测
- 固态硬盘(samsung SSD 850 pro)相关问题
- 最简单的黑客帝国代码雨教程C++
- dlna投屏显示服务器没互动,Dlna投屏
- vue获取地址栏参数
- Nginx自建CDN加速节点 实现DNS智能解析网站项目
- 华为服务器bmc怎么传文件,华为服务器bmc配置
- 改善内部客户服务的 3 个技巧
- 给一些想要学习Java同学的一些建议
- 小程序系统API调用
- 搭建harbor私库
热门文章
- 高级技巧之字体图标的使用
- 2020未能认证证件
- 磁盘阵列(RAID)是什么?RAID有什么好处?
- 关于fi dd ler 手机抓包 网卡地址地址_消灭病毒刷钻石刷金币跳关教程安卓手机...
- DellR730服务器新装win2008R2sp164位
- 人脉是生意之源,创业者应该如何拓展自己的人脉?
- 长沙牛偶计算机学校,长沙科技工程学校美术特色
- 弘辽科技:淘宝怎么设置接待客服名称?在哪设置?
- unable to connect to 127.0.0.1:62001: 由于目标计算机积极拒绝,无法连接
- SpringBoot+Mybatis-plus:使用枚举接收参数并返回数据