我正在使用 Angular 版本 7 为我的应用程序创建一个侧边栏。我想在这个项目中包含具有某些功能的 java 脚本。为此,我遵循了以下步骤
我在 assets 文件下创建了一个 js 文件夹并将其命名为 SideBar.js
在 SideBar.js 中,我编写了一段 java 脚本,如下所示。
function toggleSideBar() {
document.getElementById("SideBar").classList.toggle('active');
}
我将 Jquery 的路径添加到 angular.json 中的脚本中
在 ngonInit() 内的 sidebar.component.ts 文件中,我声明了如下所示的函数。
import { Component, OnInit } from '@angular/core';
var jQuery: any;
@Component({
selector: 'app-side-bar',
templateUrl: './side-bar.component.html',
styleUrls: ['./side-bar.component.scss']
})
export class SideBarComponent implements OnInit {
constructor() { }
ngOnInit() {
(function (toggleSideBar) {
toggleSideBar('.toggleSideBar').toggleSideBar();
})(jQuery);
}
}
我不确定出了什么问题。我仍然无法切换我创建的侧栏。任何线索都会有所帮助。
编辑:添加侧组件 .html
<nav>
<div id="SideBar">
<div class="toggle-btn" onclick="toggleSideBar()">
<span></span>
<span></span>
<span></span>
</div>
<ul>
<li>Home</li>
<li>Home</li>
<li>Home</li>
</ul>
</div>
</nav>
代码:Sidebar.component.scss
nav {
margin: 0px;
padding: 0px;
font-family: 'Montserrat', sans-serif;
#SideBar {
position: fixed;
width: 200px;
height: 100%;
background: #151719;
left: -200px;
}
#SideBar ul li {
color: rgba(230,230,230,0.9);
list-style: none;
padding: 15px 10px;
border-bottom: 1px solid rgba(100,100,100,0.3);
}
#SideBar .active{
left: 0px;
}
#SideBar .toggle-btn{
position: absolute;
left: 230px;
top:20px;
}
#SideBar .toggle-btn span{
display: block;
width: 30px;
height: 5px;
background: #151719;
margin: 5px 0px;
}
}