当选择路由器链接时关闭md-sidenav
问题描述:
我正在研究一个角度项目,我已经实现了像side-nav这样的角度材质组件。 side-nav包含ul li元素,链接嵌套,路由器链接不是href。我的问题是,当我选择一个链接转到另一个视图时,我想调用side nav来切换和关闭。因为它总是保持开放当选择路由器链接时关闭md-sidenav
答
选项1:
每当路由器事件发生,您可以订阅Router
事件和关闭sidenav。
代码:
需要这些进口:
在组件类import { Component,ViewChild, OnInit, } from '@angular/core';
import { Router, RouterModule } from '@angular/router';
import { MdSidenav, MdSidenavModule } from '@angular/material';
:
@ViewChild(MdSidenav) sidenav: MdSidenav;
title = 'Tour of Heroes';
constructor(private appService: AppService,
private _router: Router){
}
ngOnInit() {
this._router.events.subscribe(() => {
this.sidenav.close();
});
}
选项2:
添加一个click
事件到每个li
关闭sidenav点击。
HTML:
<ul class="sidenav">
<li class="sidenav__list">
<a class="sidenav__list__link " (click)="sidenav.close()" >about</a>
</li>
</ul>