我有我的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