加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 在折叠时显示不同的导航栏项目(ngx-bootstrap)

发布时间:2020-12-17 17:12:08 所属栏目:安全 来源:网络整理
导读:使用ngx-bootstrap,是否可以显示不同的导航栏引导项,具体取决于导航栏是否折叠? 我尝试通过制作崩溃的div和!崩溃来做到这一点.不幸的是,两者都表明!崩溃了. StackBlitz:https://stackblitz.com/edit/angular-startup-proj-ddztm4 nav class="navbar navb
使用ngx-bootstrap,是否可以显示不同的导航栏引导项,具体取决于导航栏是否折叠?

我尝试通过制作崩溃的div和!崩溃来做到这一点.不幸的是,两者都表明!崩溃了.

StackBlitz:https://stackblitz.com/edit/angular-startup-proj-ddztm4

<nav class="navbar navbar-expand-sm navbar-light bg-light">
  <a class="navbar-brand"
     href="#">Navbar</a>
  <button class="navbar-toggler"
          type="button"
          data-toggle="collapse"
          data-target=".navbarSupportedContent"
          aria-controls="navbarSupportedContent"
          aria-label="Toggle navigation"
          [attr.aria-expanded]="!isCollapsed"
          (click)="isCollapsed = !isCollapsed">
      <span class="navbar-toggler-icon"></span>
  </button>

  <!-- show only when not collapsed -->
  <div class="collapse navbar-collapse navbarSupportedContent"
       [ngClass]="{'hide': isCollapsed}">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link"
           href="#">Link One - full screen</a>
      </li>
      <li class="nav-item">
        <a class="nav-link"
           href="#">Link Two - full screen</a>
      </li>
    </ul>
  </div>

  <!-- show only when collapsed -->
  <div class="collapse navbar-collapse navbarSupportedContent"
  [ngClass]="{'show': !isCollapsed}">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link"
            href="#">Link Two - collapsed</a>
      </li>
      <li class="nav-item">
        <a class="nav-link text-success"
            href="#">Link Three - collapsed</a>
      </li>
    </ul>
  </div>
</nav>

TS:

isCollapsed = true;

解决方法

如果你将[style.display] =“isCollapsed?’inherit’:’none’”添加到< ul class =“navbar-nav mr-auto”中,这是可能的:

<!-- show only when not collapsed -->
<div class="collapse navbar-collapse navbarSupportedContent"
[ngClass]="{'hide': isCollapsed}">
  <ul class="navbar-nav mr-auto">
  <!-- rest of code .... -->
</div>
<!-- show only when collapsed -->
<div class="collapse navbar-collapse navbarSupportedContent"
[ngClass]="{'show': !isCollapsed}">
  <ul class="navbar-nav mr-auto" [style.display]="isCollapsed?'inherit':'none'">
  <!-- rest of code .... -->
</div>

更新:

要使其响应,您可以使用@media queries(例如w3school):

@media (max-width: 576px){
   ul.collapse{
      display:none !important;
   }
}

@media (min-width: 576px){
   ul.full{
      display:none !important;
   }
}

在css中然后添加以下ul类:

<!-- show only when not collapsed -->
`<ul class="navbar-nav mr-auto collapse">`

<!-- show only when collapsed -->
<ul class="navbar-nav mr-auto full" [style.display]="isCollapsed?'inherit':'none'">

Stackblitz Fork上的示例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读