2

我是 Angular 的新手,正在尝试使用 Jquery 和 metismenu 将网站(管理主题)转换为 Angular(我知道很多人不想使用 Jquery,但是当我尝试迁移网站时,我不想修改很多事情)场景:在通过小型设备打开的网站中,页面如下所示

步骤是: 1. 用户单击 fa-bars 图标 2. 出现垂直菜单,当用户单击任何菜单图标时, 3. 链接出现在右侧

挑战是使用 Angular 8 获得相同的行为。此时我的标题 component.html (让 fa-bar 工作读取的那个)

<div class="row border-bottom">
       <nav class="navbar navbar-static-top  " role="navigation" style="margin-bottom: 0">
          <div class="navbar-header">
             <a class="minimalize-styl-2 btn btn-primary " (click)="toggleNavigation()"><i class="fa 
              fa-bars"></i> </a> 
           </div>
           <ul class="nav navbar-top-links navbar-right">
              <li>
                  <span class="m-r-sm text-muted welcome-message">XXXX</span>
              </li>
              <li>
                <a (click)="removeValue()">
                    <i class="fa fa-sign-out"></i> Log out
                 </a>
              </li>
            </ul>
        </nav>
    </div>

我的头文件 component.ts 内容如下:

toggleNavigation(): void {
    jQuery("body").toggleClass("mini-navbar");
    smoothlyMenu();
}

我的侧边栏菜单显示:

    <nav class="navbar-default navbar-static-side" role="navigation">
           <div class="sidebar-collapse">
              <ul class="nav metismenu" id="side-menu">
               <li class="nav-header">
                <div class="dropdown profile-element" dropdown>
                    <div class="circle">
                        <span class="initials" id="myFunction(twoinitials)"> 
                         {{currentUser.firstnameletter}}{{currentUser.lastnameletter}}</span>
                    </div>
                     <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                        <span style="width: 100%;text-align: center" class="block m-t-xs font-bold"> 
                        {{currentUser.firstname}} {{currentUser.lastname}}</span>
                        <span style="width: 100%;text-align: center" class="block m-t-xs font-bold"> 
                        {{currentUser.role_id}}</span>
                    </a>
                </div>
                <div class="logo-element">

                </div>
            </li>
            <li>
                <a href="#"><i class="fa fa-th-large"></i> <span class="nav-label" >Accounts</span> <span 
                class="fa arrow"></span></a>
                **<ul class="nav nav-second-level collapse"> 
                   <li><a routerLink="/paymentreq/newrequest" routerLinkActive="active- link" 
                   [routerLinkActiveOptions]="{exact:true}" *ngIf="show_paymentrequest">Payment 
                   Request</a></li>
                   <li><a routerLink="/paymentreq/payment-approval" 
                       routerLinkActive="active-link" [routerLinkActiveOptions]=" 
                      {exact:true}" *ngIf="show_paymentapproval">Payment Approval</a> </li>
                   <li><a routerLink="/paymentreq/payment-pay" routerLinkActive="active- 
                        link" [routerLinkActiveOptions]="{exact:true}" 
                        *ngIf="show_paymentpay">Process Payment </a></li>
                   <li><a routerLink="/paymentreq/payment-reports" routerLinkActive="active- 
                       link" [routerLinkActiveOptions]="{exact:true}" 
                       *ngIf="show_paymentreport">Payment Reports</a></li>
                </ul>**
           </li>
.......................

我的侧边栏组件 ts 内容如下:

 jQuery('#side-menu').metisMenu();  
    if (jQuery("body").hasClass('fixed-sidebar')) {
      jQuery('.sidebar-collapse').slimscroll({
        height: '100%'
      })
    }
  }

现在,通过该设置,在正常屏幕中一切都“正常”(菜单在侧面正常,fa-bars 按钮在那里,我可以点击链接等)但是当我进入移动模式时,fa-bars按钮起作用并且出现了细长的滚动条,但是,即使在单击任何菜单按钮后我可以看到发生了某些事情(左侧的绿色条处于活动状态),也不会出现第二级导航链接。我已经这样做了一天左右,阅读了大量的内容并尝试了很多不同的设置,但无济于事,如果一个善良的灵魂可以帮助我或为我指明正确的方向,我将不胜感激。

4

1 回答 1

0

由于我找不到解决方案,我决定放弃整个 metismenu - nav-bar malarkey,即使花了一些时间,该应用程序现在运行得更好

于 2020-02-13T15:16:26.023 回答