这个例子来自Stimulusjs的文档。我能够找到关于ES6静态方法的文档,但这看起来不像是一个方法。或者这是某种速记?为什么变量有一个'static‘关键字?
export default class extends Controller {
static targets = [ "name" ]
greet() {
const element = this.nameTarget
const name = element.value
console.log(`Hello, ${name}!`)
}
}发布于 2018-08-28 02:55:05
使用babel's transform-class-properties plugin时允许使用该语法。在纯javascript中的等价物是:
class MyClass extends Controller {
greet() {
const element = this.nameTarget
const name = element.value
console.log(`Hello, ${name}!`)
}
}
MyClass.targets = ["name"];
export default MyClassEDIT: pre ES6,请执行以下操作:
var MyClass = function () {
Controller.call(this);
};
MyClass.prototype = Object.create(Controller.prototype);
MyClass.prototype.greet = function () {
var element = this.nameTarget
var name = element.value
console.log('Hello, ' + name + '!');
}
MyClass.targets = ["name"];https://stackoverflow.com/questions/52045350
复制相似问题