2017-10-11 85 views
0

你好我無法搞清楚爲什麼導航欄菜單在導航欄被摺疊時不會打開。我正在使用Angular 4(cli),Bootstrap 4.0.0-beta和sass。我還使用NGX的自舉,如果該事項引導程序導航欄不會切換

HTML

<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top navbar-toggleable-md"> 
    <div class="container"> 
    <a class="navbar-brand" href="#">Test</a> 
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> 
     <span class="navbar-toggler-icon"></span> 
    </button> 
    <div class="collapse navbar-collapse" id="navbarResponsive"> 
     <ul class="navbar-nav ml-auto"> 
     <li class="nav-item"> 
      <a class="nav-link" [routerLink]="['/view']">View 
      <span class="sr-only">(current)</span> 
      </a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link"[routerLink]="['/upload']">Upload</a> 
     </li> 
     <li class="nav-item dropdown" dropdown> 
      <a dropdownToggle class="nav-link dropdown-toggle"> 
      Print 
      </a> 
      <ul *dropdownMenu class="dropdown-menu" role="menu"> 
      <li role="menuitem"><a class="dropdown-item" (click)="onPrint(1)">Landscape</a></li> 
      <li role="menuitem"><a class="dropdown-item" (click)="onPrint()">Portrait</a></li> 
      </ul> 
     </li> 

     </ul> 
    </div> 
    </div> 
</nav> 

角cli.json

"styles": [ 
    "../node_modules/bootstrap/dist/css/bootstrap.css", 
    "styles.scss" 
    ], 
    "scripts": [ 
    ], 

styles.scss

@import 'variables'; 
@import '../node_modules/bootstrap/scss/bootstrap'; 
@import '../node_modules/font-awesome/scss/font-awesome'; 

我還創建了plunkr

http://embed.plnkr.co/2CYpsoQAQEOPljR17Pjq/

回答

1

您需要包括你的頁面上的JavaScript文件:

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> 

在他們的「入門」頁它會告訴你哪些文件包括:

https://v4-alpha.getbootstrap.com/

+0

啊我明白了。我試圖避免包括jQuery,因爲我正在使用角。有沒有其他的方式來做到這一點,而不包括它? – derrickrozay

+0

不幸的是,如果你想使用涉及JavaScript的引導程序的任何元素(nav都是這樣)。從他們的文檔中:「確保首先放置jQuery和Tether,因爲我們的代碼依賴於它們」。如果你想在Bootstraps導航中避免使用js,你可以考慮使用類似這樣的東西:http://thednp.github.io/bootstrap.native/ –

+0

將jquery包含在角度應用中沒有任何問題。特別是如果你想要使用依賴於jquery的東西。只是不要在你的應用中使用原生jQuery。如果你真的不想包含jquery,爲什麼不使用material2?它的發展比bootstrap4更進一步 –