Renderer2在angular7中继承时不起作用

问题描述 投票:1回答:1

我需要访问dom元素并在其他类中进行操作homeComponent.ts

   import{TableUtility} from "src/shared/table-utility"; 
   export class HomeComponent extends TableUtility{
   constructor(){super()}

homeComponent.html

<button (click)="toggleClass($event)"><img src="img.png"></button>

tableUtility.ts

import{Table} from "primeng/table";
import{Renderer2} from "@angular/core";

export class TableUtility{
constructor(public render:Renderer2)
togglClass(ev){
console.log(this.render.addClass(ev.target,"active");
}

Err:无法读取未定义的addClass

如果我在家庭组件中使用它,我可以阅读Renderer2。有人可以说出正确的理由以及如何解决这个问题。

javascript angular typescript angular7 angular-renderer2
1个回答
2
投票

您需要在子类构造函数中定义依赖项,并通过super()将它们传递给超类:

export class HomeComponent extends TableUtility{
constructor(public render:Renderer2){super(render)}
© www.soinside.com 2019 - 2024. All rights reserved.