ionic4 子页面隐藏tabs

码云Git:Ionic4_Tabs

效果图GIF:


1.gif

tabs.page.html:


1.png

TabsService.ts:

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root' //这样就不必再App.module.ts 引入
})

export class TabsService {

  constructor() {
  }

  //显示Tabs
  showTabs() {
    let elements = document.querySelectorAll(".tab");
    if (elements != null) {
      Object.keys(elements).map((key) => {
        elements[key].style.display = 'flex';
      });
    }
  }

  //隐藏Tabs
  hiddenTabs() {
    let elements = document.querySelectorAll(".tab");
    if (elements != null) {
      Object.keys(elements).map((key) => {
        elements[key].style.display = 'none';
      });
    }
  }
}

app.component.ts:

import { Component } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
import { TabsService } from './service/TabsService';
@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss']
})
export class AppComponent {
  constructor(private router: Router,private tabsService: TabsService,) {
    this.toggleTabs();
  }
  //监听路由来显示或隐藏Tabs选项卡
  toggleTabs(){
    this.router.events.subscribe(event => {
      if (event instanceof NavigationEnd) {
        console.log("event.url:" + event.url);
        if(event.url == '/tabs/home' || event.url == '/tabs/recommend' || event.url == '/tabs/find' || event.url == '/tabs/me'){
          this.tabsService.showTabs();
        }else {
          this.tabsService.hiddenTabs();
        }
      } 
    })
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容