如何将值从 ts 文件传递​​到 angular 2+ 中同一组件中的 scss 文件?

Ram*_*a S 8 css sass angular2-template angular

这是我的组件

export class myComponent implements onInit {

private outageCount;

ngOnInit(){

    ....subscribe((data) => {
    this.outageCount = Object.keys(data).length;

})
}
Run Code Online (Sandbox Code Playgroud)

我需要之前将 outageCount 传递给我的 css CONTENT

:host ::ng-deep app-settings-panel {
    &:before{
        //content:"4";
        content:attr(outageCount);
        background: #941313;
        position: absolute;
        top: 3px;
        left: 22px;
        border-radius: 50%;
        height: 13px;
        width: 13px;
        border: 1px solid #ffffff;
        color: white;
        font-size: 8px;
        text-align: center;
        line-height: 13px;
    }
Run Code Online (Sandbox Code Playgroud)

我如何将 outageCount 值从我的组件传递给 css :before content

任何建议,将不胜感激!

Ram*_*a S 7

我将其作为属性传递到我的 html 中,如下所示

 [attr.outage-count]="outageCount"
Run Code Online (Sandbox Code Playgroud)

我的css,我是这样更新的

   :host ::ng-deep app-settings-panel {
        &:before{
            content: attr(outage-count);
            ......
        }
    }
Run Code Online (Sandbox Code Playgroud)

这对我有用!感谢所有尝试帮助我的人!


Abh*_*nth 4

尝试使用:

document.documentElement.style.setProperty('--contentvalue', this.outageCount);

CSS

:root {
    --contentvalue: 4;
}

:host ::ng-deep app-settings-panel {
    &:before{
        //content:"4";
        content:attr(--contentvalue);
        background: #941313;
        position: absolute;
        top: 3px;
        left: 22px;
        border-radius: 50%;
        height: 13px;
        width: 13px;
        border: 1px solid #ffffff;
        color: white;
        font-size: 8px;
        text-align: center;
        line-height: 13px;
    }
Run Code Online (Sandbox Code Playgroud)