【问题标题】:Angular2 - is it possible to get component class name using selector nameAngular2 - 是否可以使用选择器名称获取组件类名称
【发布时间】:2018-04-16 05:40:46
【问题描述】:

是否可以在 Angular 2 中使用选择器名称获取组件类名或组件引用?

@Component({
  selector: 'selector-1',
  template: '<h1>Hello</h1>',
})
export class Component1 {}

@Component({
      selector: 'selector-2',
      template: '<h1>Hello</h1>',
    })
    export class Component2 {}

在组件 2 中是否可以使用选择器“selector-1”获取组件 1 的类名?

示例:

getComponentName(selectorName) {
 // return component name
}

getComponentName('selector-1');

提前致谢

【问题讨论】:

    标签: angular typescript annotations angular2-components angular2-decorators


    【解决方案1】:

    只有不拨打enableProdMode的情况下才可能无需额外工作:

    var node = document.querySelector('selector-1');
    var debugNode = window.ng.probe(node);
    var name = debugNode.componentInstance.constructor.name;
    

    否则你将不得不自己维护组件映射。

    【讨论】:

      猜你喜欢
      • 2018-06-22
      • 2014-08-10
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 2023-04-08
      • 2015-12-09
      • 2017-10-20
      相关资源
      最近更新 更多