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();
        }
      } 
    })
  }
}

你可能感兴趣的:(ionic4 子页面隐藏tabs)