【发布时间】:2018-03-15 15:01:39
【问题描述】:
所以我一直面临这个奇怪的问题,但我不确定这是一个错误还是我在这里遗漏了一些东西。
因此,我有一个名为 TestComponent 的组件,并且在 AppComponent 中有一个按钮,当我单击它时,我通过执行此操作 TestComponent.name 获得了 TestComponent 的名称。
AppComponent强>:
import { TestComponent } from './test/test.component';
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: '<button (click)="showName()">Show</button>'
})
export class AppComponent {
showName(){
console.log('component name: "' + TestComponent.name + '"');
}
}
正如您通过单击按钮所看到的,我想获取 TestComponent 的名称,基本上是“TestComponent”
问题是这在开发模式下运行良好,如果我调用 ng build 也运行良好,这就是我在控制台中得到的:
当我调用 ng build --prod 来压缩文件并减小它们的大小时,我得到了以下结果:
这正常吗?!
【问题讨论】:
-
变量
name的值是怎么赋值的? -
@Aravind 不,它不是 TestComponent 类中的变量,它是 TypeScript 上的一个函数,可以像 Java
class.getClassName()那样将组件的名称作为字符串提供给您
标签: javascript angular ecmascript-6