我在udemy的angular2课程中学习angular2,老师写了一个突出显示 html 元素的指令。
我试图做休闲,但对我来说_renderer.setElementStyle
抛出异常。
例外:类型错误:无法在 [null] 中设置未定义的属性“背景颜色”
指令:
import {Directive, ElementRef, Renderer, OnInit} from 'angular2/core';
@Directive({
selector: '[highlight-directive]'
})
export class HighlightDirective implements OnInit{
private _defaultColor= 'green';
constructor(private _elmRef: ElementRef, private _renderer: Renderer) {}
ngOnInit(): any {
this._renderer.setElementStyle(this._elmRef, "background-color", this._defaultColor);
//this._elmRef.nativeElement.style.backgroundColor = this._defaultColor; //this way works fine.
}
}
我使用指令的模板:
template: `
<div highlight-directive>
Highlight me
</div>
<br>
<div highlight-directive>
2 Highlight me 2
</div>
`,
谁能发现我做错了什么?
谢谢。