html - 如何从 Angular 6 中的另一个组件的 typescript 激活和停用组件中的样式?

标签 html css angular typescript angular6

我的 app.component.ts

this.renderer.listenGlobal('window', 'scroll', (event) => {
            const number = window.scrollY;
            if ((number > 150 || window.pageYOffset > 150) && this.location.prepareExternalUrl(this.location.path()) == '/') {
                // I want to activate here style .nav-item .nav-link:not(.btn) in navbar.component.html
                navbar.classList.remove('navbar-transparent');
            } else {
                // I want to deactivate here style .nav-item .nav-link:not(.btn) in navbar.component.html
                navbar.classList.add('navbar-transparent');
            }
        });

navbar.component.html 我有

<li class="nav-item" *ngIf="!isDocumentation() && !isMain() && !isCloud() && !isView()">
          <a class="nav-link" rel="tooltip" title="Follow us on Twitter" data-placement="bottom"
             href="https://example-link.com" target="_blank">
            <i class="fa fa-twitter"></i>
            <p class="d-lg-none">Twitter</p>
          </a>
        </li>

我想从 navbar.component.scss 自动激活和停用样式

  .nav-item .nav-link:not(.btn){
      color: black;
      border-color: black;
  }

app.component.ts这个地方

        // I want to activate here style .nav-item .nav-link:not(.btn) in navbar.component.html
        navbar.classList.remove('navbar-transparent');
    } else {
        // I want to deactivate here style .nav-item .nav-link:not(.btn) in navbar.component.html
        navbar.classList.add('navbar-transparent');
    }

我该怎么做?

最佳答案

我认为您正在寻找的是 ngClass。

在 html 中:

<inptut [ngClass]="'navbar-transparent', boolean" />

这样做的目的是在 bool 值为真时添加样式,在 bool 值为假时移除样式。如果您使用的是父子结构,则可以使用@Input 或@Output 来设置 bool 值。否则,您可以使用共享服务。

来源:https://angular.io/api/common/NgClass https://angular.io/guide/component-interaction

关于html - 如何从 Angular 6 中的另一个组件的 typescript 激活和停用组件中的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314827/

相关文章:

javascript - 应用旋转后,HTML5 canvas clip() 在 Chrome 中不起作用

javascript - iframe src 在按钮单击时更改

android - 在移动设备上覆盖默认下拉(选择)样式

html - 不同状态 Angular 6 的图标颜色

javascript - 如何使用HTML和CSS解决移动应用程序的固定位置

html - Bootstrap 3.1.1 导航栏折叠时的不同布局

css - Wordpress CSS - 悬停时菜单中的图像按钮消失的问题

html - 粘性标题滚动 + 窗口大小

angular - Angular 2/4/5 中的 Bootstrap 轮播事件处理

angular - 绑定(bind)表达式不能包含链式表达式 (Angular 8)