这个错误通常因为在环境上下文中声明访问器而不是在类或对象中声明访问器。要解决此问题,应确保在非环境上下文中定义访问器。
以下是一个示例代码:
declare class MyClass {
get myValue(): string;
set myValue(val: string);
}
class MyClassImpl implements MyClass {
private _myValue: string = '';
get myValue(): string {
return this._myValue;
}
set myValue(val: string) {
this._myValue = val;
}
}
在这个例子中,MyClass 在环境上下文中声明了访问器,而 MyClassImpl 在类中定义了访问器。这使得在 MyClassImpl 内部定义和访问 myValue 成为可能,而不会出现 TypeScript 编译器发出的 TS1086 错误。