首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当主机上存在特定类时才使用Angular Renderer2 setStyle

仅当主机上存在特定类时才使用Angular Renderer2 setStyle
EN

Stack Overflow用户
提问于 2018-08-18 23:02:04
回答 1查看 2.6K关注 0票数 0

我有一个(微调)指令,它可以使用@HostBinding添加/删除一个类(.spinner)。它还会在激活时添加/删除img (spinner.gif)。

如果主机上存在.spinner,将应用scss文件中定义的一组样式:

代码语言:javascript
复制
.spinning {
  position: relative;
 }

.spinning img {
  display: block;
  width: 24px;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%)
 }

我想从我的指令中将这些样式应用到主机上。只有当使用Renderer2ElementRef存在某个类时,才能在主机上应用样式吗?

这显然不起作用:

代码语言:javascript
复制
this.renderer.setStyle(this.el.nativeElement, '.spinning position', 'relative');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-19 01:17:27

使用can ElementRef检查类是否存在于元素中

代码语言:javascript
复制
ngOnInit(){
  let present = this.ele.nativeElement.classList.contains('open');
  if(present){
  //Then add your style
   this.renderer2.setStyle(this.el.nativeElement,'color','red');  

  }
  }

示例:https://stackblitz.com/edit/angular-renderer2-dispatch-event-f4j56o

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51909916

复制
相关文章

相似问题

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