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