gpt4 book ai didi

typescript - 相同属性的 setter 和 getter 引起 eslint 签名应该是相邻错误

转载 作者:行者123 更新时间:2023-12-04 14:31:57 24 4
gpt4 key购买 nike

我创建了一个类(网络组件),在其中我为 expressionValue 声明了两个 setter 和 getter 一个。第二个为scoreValue .现在我收到了这些错误:

All 'expressionValue' signatures should be adjacent @typescript-eslint/adjacent-overload-signatures


All 'scoreValue' signatures should be adjacent @typescript-eslint/adjacent-overload-signatures


我想知道如何修复此错误以保留我的 setter 和 getter。
或者是不可能的,只有一种方法是设置这个 @typescript-eslint/adjacent-overload-signatures: 0在 .eslintrc.js 文件中?
class BinaryExpressionItem extends KKWebComponent implements KKBinaryExpressionItem {
public static TAG: string = `${CONSTANTS.TAG_PREFIX}-binary-expression-tem`;

private readonly expression: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('var');
private readonly score: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('mark');

constructor() {
super(template);
}

set expressionValue(value: string) {
this.expression.textContent = value;
}

set scoreValue(value: string) {
this.score.textContent = value;
}

get expressionValue(): string {
return this.expression.textContent ?? '';
}

get scoreValue(): string {
return this.score.textContent ?? '';
}
}

最佳答案

这里的关键词是adjacent .所以你需要把getset对于彼此相邻的相同属性:

class BinaryExpressionItem extends KKWebComponent implements KKBinaryExpressionItem {
public static TAG: string = `${CONSTANTS.TAG_PREFIX}-binary-expression-tem`;

private readonly expression: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('var');
private readonly score: HTMLElement = <HTMLElement>this.shadowRoot.querySelector('mark');

constructor() {
super(template);
}

get expressionValue(): string { // The ones for expressionValue
return this.expression.textContent ?? ''; // The ones for expressionValue
} // The ones for expressionValue
// The ones for expressionValue
set expressionValue(value: string) { // The ones for expressionValue
this.expression.textContent = value; // The ones for expressionValue
} // The ones for expressionValue

get scoreValue(): string { // The ones for scoreValue
return this.score.textContent ?? ''; // The ones for scoreValue
} // The ones for scoreValue
// The ones for scoreValue
set scoreValue(value: string) { // The ones for scoreValue
this.score.textContent = value; // The ones for scoreValue
} // The ones for scoreValue
}
我总是先列出 getter,然后是 setter,但我认为 ESLint 并不关心,只要属性的两个部分彼此相邻即可。

关于typescript - 相同属性的 setter 和 getter 引起 eslint 签名应该是相邻错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63316331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com