我需要访问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");
}
错误:无法读取未定义的addClass
如果我在家庭组件中使用它,我可以阅读Renderer2。有人可以说出适当的理由以及如何解决这个问题。
最佳答案
您需要在子类构造函数中定义依赖项,并通过super()
将它们传递给超类:
export class HomeComponent extends TableUtility{
constructor(public render:Renderer2){super(render)}
关于javascript - Renderer2在angular7中继承时不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58742789/