首页 > 解决方案 > 如何在没有构造函数注入的情况下获取 elementRef?- 角

问题描述

我想知道是否有办法在ElementRef没有构造函数注入的情况下获取实例Angular

为什么我需要它:

我有一个抽象的 BaseComponent 类,它被许多其他 Angular 组件类继承。我想避免ElementRef通过调用注入所有子类super(elementRef),而是将其直接注入 BaseComponent 类 -

export abstract class BaseComponent {
   private elementRef: ElementRef;
   constructor() {   
      // Do we have some option like below?
     //  this.elementRef = Injector.get(ElementRef) 
   }
}

@Component({
  selector: 'app-comp-one',
  templateUrl: './comp-one.component.html',
  styleUrls: ['./comp-one.component.css']
})
export class CompOne extends BaseComponent {
    constructor() {  // constructor(elementRef: ElementRef)
      super();            // super(elementRef);  
     // here I can pass elementRef in super constructor call
     // but that's what I don't want to do
   }
}

标签: angularangular-dependency-injection

解决方案


我没有测试它,但我发现你的问题很有趣,所以我做了一些研究,我发现可以解决你想要解决的确切问题。


推荐阅读