在ES6中,给出以下示例:
export default class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
static Comp = {
...
color: Color.mainDark
}
}
如何访问Color.mainDark(静态字段)?
答案 0 :(得分:5)
我认为你的意思是ES.next(可能使用babel stage-0),因为klaemo说你可以按照你的预期访问它,但是如果我记得在使用Babel并立即导出类时有一些问题,那么导出之后定义类如果你遇到问题:
class MyStyle extends Stylesheet {
static Color = {
mainDark: '#000'
}
someMethod() {
console.log(MyStyle.Color.mainDark);
}
}
export default MyStyle;
您可以在an answer Marian made on a similar question中阅读有关Babel问题的更多信息,该问题可以在Babel 6.2.1中修复。
答案 1 :(得分:0)
'use strict';
class User {
constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
static createGuest() {
return new User("guest", "site");
}
};
let user = User.createGuest();
alert( user.firstName ); // guest
alert( User.createGuest ); // createGuest ... (function)
和const:
'use strict';
class Menu {
static get elemClass() {
return "menu"
}
}
alert( Menu.elemClass ); // menu
使用调用上下文对象---这个