我有我的header component
有一個功能,可以在點擊時切換一個類,這完全適用於頭部組件,但我想將該行爲傳遞給我的nav component
,它根據這個事件。如何通過組件傳遞變量Angular 2
我的問題:
我如何可以訪問內部nav component
這些變量?
期望的行爲:
我要的是能夠添加CSS clases當我點擊toggleMenu
代碼:
標題組件:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
private showOpened : boolean;
constructor() {
}
ngOnInit() {
this.showOpened = false;
}
toggleMenu() {
this.showOpened = !this.showOpened;;
}
}
標題HTML:
<div class="header-container">
<header class="wrapper clearfix">
<h1 class="logo">---</h1>
<input type="checkbox" class="checkbox-menu" id="menu-toogle">
<label for="menu-toogle" class="menu-toogle" (click)="toggleMenu()"></label>
<div class="bar" [class.animate]="showOpened"></div>
<span class="icon-search"></span>
</header>
</div>
導航組件
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-nav',
templateUrl: './nav.component.html',
styleUrls: ['./nav.component.scss']
})
export class NavComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
導航HTML
<nav [class.open-menu]="showOpened"></nav>
看看@Input:http://learnangular2.com/inputs/ – Seiyria
此外,請注意您使用的是正確的選擇器。我發現你使用'nav'和'header'而不是'app-nav'和'app-header' - 這不會像你期望的那樣工作。 – Seiyria