1 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個贊
其他人在評論中解釋說您希望方法a()和b()成為實(shí)例方法而不是靜態(tài)方法,以便您可以操縱this.
為了擁有你想要的靜態(tài)鏈接,只有鏈中的第一個方法需要是靜態(tài)的。您可以調(diào)用返回實(shí)例的靜態(tài)方法create(),然后可以在該實(shí)例上調(diào)用鏈中的后續(xù)函數(shù)。這是一個簡單的例子:
class TestModel {
constructor() {
this.data = {};
}
static create() {
return new TestModel();
}
a() {
this.data.a = true;
return this;
}
b() {
this.data.b = true;
return this;
}
final() {
return this.data;
}
}
console.log(TestModel.create().a().b().final()); // => {"a": true, "b": true}
console.log(TestModel.create().a().final()); // => {"a": true}
console.log(TestModel.create().b().final()); // => {"b": true}
添加回答
舉報(bào)