angular – 有没有办法在ng2-bootstrap中构建移动导航栏?

前端之家收集整理的这篇文章主要介绍了angular – 有没有办法在ng2-bootstrap中构建移动导航栏?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在实现ng2-bootstrap和Angular2。

我无法弄清楚如何打开/关闭移动导航栏。

这是不支持的东西吗?或者我错过了什么?

更新,HTML:

<nav class="navbar navbar-default">
    <div class="container-fluid">

    <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="#">
            <img src="/logo.png" />
        </a>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav">
            <li router-active>
                <a [routerLink]=" ['Index'] ">Summary<span class="sr-only">(current)</span></a>
            </li>
            <li router-active>
                <a [routerLink]=" ['Portfolio'] ">Portfolio<span class="sr-only">(current)</span></a>
            </li>
            <li router-active>
                <a [routerLink]=" ['About'] ">About<span class="sr-only">(current)</span></a>
            </li>
        </ul>
        <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">Submit</button>
        </form>
        <ul class="nav navbar-nav navbar-right">
            <li dropdown keyboardNav="true">
                <a href class="dropdown-toggle" role="button" aria-expanded="false" dropdownToggle>
                    <span class="glyphicon glyphicon-user" aria-hidden="true"></span>
                    Andrew Duncan 
                    <span class="caret"></span>
                </a>
                <ul class="dropdown-menu" role="menu">
                    <li role="menuitem"><a class="dropdown-item" href="#">Account Settings</a></li>
                    <li role="menuitem"><a class="dropdown-item" href="#">Another action</a></li>
                    <li role="menuitem"><a class="dropdown-item" href="#">Something else here</a></li>
                    <li class="divider dropdown-divider"></li>
                    <li role="menuitem"><a class="dropdown-item" href="#">logout</a></li>
                </ul>
            </li>

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

打字稿:

/*
 * Angular 2 decorators and services
 */
import { Component,ViewEncapsulation } from '@angular/core';
import { RouteConfig,Router } from '@angular/router-deprecated';

import { AppState } from './app.service';
import { Home } from './home';
import { RouterActive } from './router-active';
import { BUTTON_DIRECTIVES,DROPDOWN_DIRECTIVES } from '../../node_modules/ng2-bootstrap';
/*
 * App Component
 * Top Level Component
 */
@Component({
  selector: 'app',pipes: [ ],providers: [ ],directives: [ 
    RouterActive,BUTTON_DIRECTIVES,DROPDOWN_DIRECTIVES ],encapsulation: ViewEncapsulation.None,styles: [
    require('./app.css')
  ],template: require('./app.html')
})
@RouteConfig([
  { path: '/',name: 'Index',component: Home,useAsDefault: true },{ path: '/home',name: 'Home',component: Home },// Async load a component using Webpack's require with es6-promise-loader and webpack `require`
  { path: '/about',name: 'About',loader: () => require('es6-promise!./about')('About') },{ path: '/portfolio',name: 'Portfolio',loader: () => require('es6-promise!./portfolio')('Portfolio') }
])
export class App {
  angularclasslogo = 'assets/img/angularclass-avatar.png';
  loading = false;
  url = 'https://twitter.com/AngularClass';

  constructor(
    public appState: AppState) {

  }

  ngOnInit() {
    console.log('Initial App State',this.appState.state);
  }

}

/*
 * Please review the https://github.com/AngularClass/angular2-examples/ repo for
 * more angular app examples that you may copy/paste
 * (The examples may not be updated as quickly. Please open an issue on github for us to update it)
 * For help or questions please contact us at @AngularClass on twitter
 * or our chat on Slack at https://AngularClass.com/slack-join
 */
您需要包含并使用collapse指令
首先导入指令
从’ng2-bootstrap’导入{CollapseDirective}
将其包含在组件指令中
@Component({指令:[CollapseDirective]})
编辑:正如Akkusativobjekt在评论中所指出的,Directives(在角度2的当前稳定版本中)不再放在@Component属性中。它们包含在NgModule属性中。
@NgModule({declarations:[CollapseDirective]})

然后在你的控制器中创建一个变量来跟踪它是否崩溃
导出类MyController {
public isCollapsed:boolean = true;
}
并在您的模板中看起来像这样的行
< button type =“button”class =“navbar-toggle collapsed”data-toggle =“collapse”>
你想要切换变量
< button type =“button”class =“navbar-toggle collapsed”(click)=“isCollapsed =!isCollapsed”>
而且在您的模板中,您还需要更改显示的行
< div class =“collapse navbar-collapse”id =“bs-example-navbar-collapse-1”>
包含该指令
< div id =“navbar”class =“navbar-collapse collapse”[collapse] =“isCollapsed”>

Documentation for ng2-bootstrap collapse
Example of using the collapse directive in html
Documentation for NgModule

猜你在找的Angularjs相关文章