html – 错误_renderer.setElementStyle“无法在[null]中设置未定义的属性’background-color’”

html – 错误_renderer.setElementStyle“无法在[null]中设置未定义的属性’background-color’”,第1张

概述我正在为Angle2在 udemy课程中研究angular2,老师写了一个突出显示html元素的指令. 我试图做休闲,但对我来说_renderer.setElementStyle抛出异常. EXCEPTION: TypeError: Cannot set property ‘background-color’ of undefined in [null] 指令: import {Directive 我正在为Angle2在 udemy课程中研究angular2,老师写了一个突出显示HTML元素的指令.

我试图做休闲,但对我来说_renderer.setElementStyle抛出异常.

EXCEPTION: TypeError: Cannot set property ‘background-color’ of
undefined in [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>`,

教师工作区:

任何人都能找到我做错的事吗?

谢谢.

解决方法 正如@Nirschwartz所建议的那样

由于beta.1渲染器不再使用ElementRef,而是使用nativeElement,因此添加背景颜色的渲染器行应该如下所示

this._renderer.setElementStyle(this._elmRef.nativeElement,this._defaultcolor);

您可以在CHANGELOG中检查所有这些更改.具体到您的情况,您应该检查beta.1的更改日志(更改部分)

总结

以上是内存溢出为你收集整理的html – 错误_renderer.setElementStyle“无法在[null]中设置未定义的属性’background-color’”全部内容,希望文章能够帮你解决html – 错误_renderer.setElementStyle“无法在[null]中设置未定义的属性’background-color’”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1135588.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存