我试图找出打字稿和角度类中静态字段与方法行为之间的差异。非常感谢您的帮助:)
我在应用程序 src 中导出了带有静态字段和方法的类,当我导入它并尝试使用它们未定义的静态字段时,如果我调用静态方法,它们就会起作用。
src/app/core/colors.ts
export class SystemColors {
static _gray: {
default: '#ABAFBE',
darker: ['#7C8298', '#606473'],
lighter: ['#C8D1DA', '#E2E3ED', '#F5F6FA']
};
public static get gray() {
return {
default: '#ABAFBE',
darker: ['#7C8298', '#606473'],
lighter: ['#C8D1DA', '#E2E3ED', '#F5F6FA']
};
}
}
Run Code Online (Sandbox Code Playgroud)
src/app/app.component.ts
import {SystemColors} from '...';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit, AfterViewInit {
constructor() {}
ngOnInit() {
console.log(1, SystemColors.gray); // static get method has value
console.log(2, SystemColors._gray); // static field undefined :( …Run Code Online (Sandbox Code Playgroud)