首页 > 解决方案 > Angular 6 添加侧边菜单栏未打开

问题描述

我仍然是 Angular 的初学者,我使用了我的大学项目,因为Angular 6 我正在尝试实现This side nav,但它在我的项目中不起作用

实时代码

那是我的代码 facilitistatus.component.html

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" (click)="open(closeNav)">&times;</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>

<h2>Animated Sidenav Example</h2>
<p>Click on the element below to open the side navigation menu.</p>
<span style="font-size:30px;cursor:pointer" (click)="open(openNav)">&#9776; open</span

facilitistatus.component.ts

openNav() {
  document.getElementById('mySidenav').style.width = '250px';
}

closeNav() {
  document.getElementById('mySidenav').style.width = '0';
}

facilitistatus.component.css

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
}

.sidenav a:hover {
    color: #f1f1f1;
}

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

我没有看到任何错误,有人知道如何正确地做到这一点吗?

谢谢

标签: typescriptangular6

解决方案


您正在调用错误的函数open(openNav)。没有包含 的函数open(openNav)。在您的 html 模板中更改打开导航栏(click)="openNav()"而不是(click)="open(openNav)"关闭导航栏而(click)="open(closeNav)"不是(click)="closeNav()".

这是工作示例:打开关闭导航栏


推荐阅读