如何在角度应用程序中向父级添加类?

Posted

技术标签:

【中文标题】如何在角度应用程序中向父级添加类?【英文标题】:How add class to parent in angular application? 【发布时间】:2018-02-24 17:54:50 【问题描述】:

我有下一个 html

// This is parent
<div class="some-class">
     // This is child
     <totalizer</totalizer>
</div>

如何从孩子更改父母的风格(添加新班级)?

【问题讨论】:

【参考方案1】:

您可以使用EventEmitter @Output() 属性来指示父组件使用ngClass 动态添加/删除css 类。

在您的孩子totalizer 组件中,定义,

@Output() cssRefresh = new EventEmitter<boolean>();

//when you need to add/remove css emit an event out to the parent like this 
// (preferably in a method in this component),

this.cssRefresh.emit(true); // or 'false' depending on add/remove

然后在父html修改这个,

<div class="some-class" [ngClass]=" 'dynamicClass1 dynamicClass2 dynamicClass3': addCss">
     // This is child
     <totalizer (cssRefresh)=refreshCss($event)></totalizer>
</div>

在你的父组件中添加这个方法和属性,

addCss = false; // set 'initial state' based on your needs

refreshCss(add: boolean) 
 this.addCss = add ? true : false;

更多关于ngClasshere。

【讨论】:

以上是关于如何在角度应用程序中向父级添加类?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vue 中向父布局槽发出事件?

童工如何在Deno中向父进程发送消息?

有没有办法通过向父级添加内联样式来隐藏父级 div/容器内的所有 div?

如何在jquery datepicker中向html属性添加角度标签

在 Electron 中向父窗口发送消息

如何在颤振中向 multiDexKeepFile 添加类?