从Angular2中的不同组件更新组件的类

从Angular2中的不同组件更新组件的类,angular,angular2-components,Angular,Angular2 Components,我试图在点击按钮时更新“侧边栏”组件中可用的元素类,该按钮在另一个名为“header”的组件中可用 我当前的设置: 应用程序ts @组件({ 选择器:“我的应用程序”, 模板:` 我在这里所期望的是,当我单击header组件中的按钮时,属性isActiveSidebar将设置为false,侧边栏组件中的aside元素将获得类“aside hidden” 当我在一个组件中使用同一个组件时,同样的设置也适用于我。目前我不知道如何在两个不同的组件之间完成此操作。如果您能通过更新给定的plunkr演示

我试图在点击按钮时更新“侧边栏”组件中可用的元素类,该按钮在另一个名为“header”的组件中可用

我当前的设置:

应用程序ts

@组件({
选择器:“我的应用程序”,
模板:`

我在这里所期望的是,当我单击header组件中的按钮时,属性
isActiveSidebar
将设置为false,侧边栏组件中的
aside
元素将获得类“
aside hidden

当我在一个组件中使用同一个组件时,同样的设置也适用于我。目前我不知道如何在两个不同的组件之间完成此操作。如果您能通过更新给定的plunkr演示来帮助我,我将不胜感激。

创建一个
@Output()
标题组件中的
并将其与侧边栏连接起来:

@组件({
选择器:“应用程序标题”,
模板:“关闭一边”
})
导出类HeaderComponent实现OnInit{
@Output()停用debar:EventEmitter=neweventemitter();
isActiveSidebar=true;
停用(){
this.isActiveSidebar=false;
this.deactivatedebar.emit(null);
}
}
@组件({
选择器:“我的应用程序”,
模板:`
`,
})
类AppSidebarComponent{
停用(){
this.isActiveSidebar=false;
}
}

谢谢您的回复。这里#sidebar是什么意思?它是一个模板变量。对于普通HTML元素,它会创建对元素的引用;对于组件,它会创建对组件实例的引用。我使用它访问
(DeactiseDebar)=“sidebar…”中的sidebar组件
我应该把“类AppSidebarComponent…”放在哪里?你能更新我的plunkr吗?这只是假设你的sidebar components类是如何命名的。我试过了,但运气不好。你能检查我更新的plunkr吗?