首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过单击另一个组件来切换组件上的CSS类?

如何通过单击另一个组件来切换组件上的CSS类?
EN

Stack Overflow用户
提问于 2017-05-24 10:04:13
回答 1查看 190关注 0票数 0

我有两个组件:- main组件: app.component - menu组件:menu/menu组件

我想通过单击菜单组件元素来切换主要组件元素的CSS类。

如何绑定?

我的结构

代码语言:javascript
复制
 -app
    app.component.html
    app.component.ts
    -menu
          menu.component.html
          menu.component.ts
EN

回答 1

Stack Overflow用户

发布于 2017-05-24 11:30:57

使用标准的角度机制从子组件到父组件(@Output()属性)进行通信,并使用@HostBinding将属性绑定到component元素上的类等。

模板:

代码语言:javascript
复制
<menu-component (clicked)="click()"></menu-component>
<div>I am styled</div>

TS:

代码语言:javascript
复制
@HostBinding('class.foo') public foo = false; 
click() { this.foo = true; }

CSS:

代码语言:javascript
复制
:host(.foo) div { color: red }

菜单

模板:

代码语言:javascript
复制
<div (click)="click()">Click me</div>

TS:

代码语言:javascript
复制
@Output() clicked;
click() { this.clicked.emit(); }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44147759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档