這是我在dashboard.html三個組件如何調用一個按鈕點擊功能到另一個組件?
<top-nav></top-nav>
<sidebar-cmp></sidebar-cmp>
<section class="main-container" [ngClass]="{sidebarPushRight: isActive}">
<router-outlet></router-outlet>
</section>
這裏sidebar.html
<button type="button" class="btn btn-primary menu-icon" (click)="toggleMenu()"><i class="fa fa-bars"></i></button>
<nav class="sidebar" [ngClass]="{sidebarPushRight: isActive, sidebarHide: isHide}">
<ul class="list-group">
<a routerLink="/dashboard/home" [routerLinkActive]="['router-link-active']" class="list-group-item">
<i class="fa fa-fw fa-home"></i> Home
</a>
</ul>
<nav>
這裏是sidebar.component.ts
import { Component, OnInit } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import { Auth } from '../../login/auth.service';
import { Menu } from '../../webapi/model/models';
import { User } from '../../webapi/model/models';
import * as _ from 'lodash';
@Component({
moduleId: module.id,
selector: 'sidebar-cmp',
templateUrl: 'sidebar.html',
styleUrls: ['sidebar.css']
})
export class SidebarComponent implements OnInit {
isHide = false;
public toggleMenu(){
this.isHide = !this.isHide;
}
}
我在sideb中有一個按鈕ar.html,如果我點擊sidebar.html中的菜單圖標按鈕,我想添加一個ngClass到dashboard.html中的主容器類。請任何人都幫忙。 在此先感謝。
通常情況下,你可以通過'EventEmitter做到這一點'輸出,但在你的情況下,你在外面的插座,所以你必須創建一個全局的'EventEmitter'並通過你可以達到這個 –
我沒有EventEmitter的相關知識。你能否提供任何示例。 – GCP
檢查此鏈接http://stackoverflow.com/questions/42624053/angular-2-how-interact-between-different-level-components/42624414#42624414 –