angular2笔记:修改样式

文章意在记录自己在学习angular2中的一些收获,请带着质疑的眼光去看文章。由于本人也是学习阶段,语言难免会不严谨,若有说的不对的地方,欢迎指出~~~

目的

想修改".html"文件(一个component最基本的文件.ts+.html+.css)中的button标签的背景颜色。

实现

".html"中的<button #greet>测试</button>修改button的样式,比如修改background-colorblue

上述button标签中的#greet是为了给后面用的,代码如下:

import {ElementRef,AfterViewInit,ViewChild,Renderer} from '@angular/core';
...
 @ViewChild('greet')//ViewChild是Angular 2 内置的属性装饰器
  greetDiv:ElementRef;

  
  constructor(private elementRef:ElementRef,private renderer:Renderer) { }
  ngAfterViewInit() {//元素创建完成以后执行下面代码,更多请看angular2的生命周期钩子
        // this.greetDiv.nativeElement.style.background = 'green';
        this.renderer.setElementStyle(this.greetDiv.nativeElement,'background-color','blue');
  }
  ngOnInit() {
  }

这个是renderer.setElementStyle的用法,第二个参数是background-color就是添加style的背景颜色。

还可以给模板添加class,比如:

this.renderer.setElementClass(this.greetDiv.nativeElement,'aaa',true);

这就添加完class了。相当于在<button #greet>测试</button>中添加class='aaa',这样就可以在.css中使用.aaa{}添加各种样式了;

更多renderer 的API,看这里

注意:

上述方法我试了一下,貌似只在纯html标签中有效,如果是angular2的自定义标签组件,貌似不起作用,像这样:

<div >
    <app-back-home  #greet></app-back-home>
</div>

是没有效果的,需要修改此处组件的样式,应该是通过传参的方式,这里就先不说了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容