angular 获取当前路由(ps:侧边栏选中状态在网页刷新后消失)

import { Component, OnInit, Input } from '@angular/core';
import { MenusService } from '../../../core/menus/menus.service';
import { PlatformLocation } from '@angular/common'

@Component({
  selector: 'app-sider',
  templateUrl: './sider.component.html',
  styleUrls: ['./sider.component.less']
})
export class SiderComponent implements OnInit {

  @Input() isCollapsed;
  triggerTemplate = null;
  menus;
  
  // 默认选中的侧边栏
  activeLink = "";

  constructor(
    private menu: MenusService,
    private location: PlatformLocation
  ) { }

  ngOnInit() {
    this.menus = this.menu.menus();
    this.activeSideItem();
  }

  activeSideItem() {
    var pathArr = this.location.pathname.split('/');
    if (pathArr.length != 0) {
      this.activeLink = pathArr[pathArr.length - 2];
    }

    for (let i = 0; i < this.menus.length; i++) {
      if (this.menus[i].link == this.activeLink) {
        this.menus[i].selected = true;
      } else {
        this.menus[i].selected = false;
      }
    }
  }

}

 

你可能感兴趣的:(Angular)