TS1086:无法在环境上下文中声明访问器

新手上路,请多包涵

在初始实施后,我有成千上万个这样的错误,在终端 ng serve my-app of 中输入,我无法解决它。这对我来说是第一次,当我在 angular 内部遇到这样的问题时,打字稿错误看起来像这样:

../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:24:19 中的错误 - 错误 TS1086:无法在环境上下文中声明访问器。

>  24     protected get parentElement(): HTMLElement | null;
>                      ~~~~~~~~~~~~~
> ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:26:19
>
> ```
>
> \- 错误 TS1086:无法在环境上下文中声明访问器。
>
> ```
>  26     protected get nativeElement(): HTMLElement;
>                      ~~~~~~~~~~~~~
> ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:28:9
>
> ```
>
> \- 错误 TS1086:无法在环境上下文中声明访问器。
>
> ```
>  28     get activatedValue(): string;
>            ~~~~~~~~~~~~~~
> ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:29:9
>
> ```
>
> \- 错误 TS1086:无法在环境上下文中声明访问器。
>
> ```
>  29     set activatedValue(value: string);
>            ~~~~~~~~~~~~~~
> ../../node_modules/@angular/flex-layout/core/typings/breakpoints/break-point-registry.d.ts:20:9
>
> ```
>
> \- 错误 TS1086:无法在环境上下文中声明访问器。 `[...]`

有人知道原因吗?在我修复它之前,我无法测试我的应用程序。

# 更新 1

好的,我让它前进。大多数错误都消失了,但我现在很少,例如第一个:

> src/app/main/main.component.ts:143:63 中的错误 - 错误 TS2322: 类型 'string \| undefined' 不能分配给类型 'string'。类型“未定义”不可分配给类型“字符串”。
>
> 143 this.fileService.add({ isFolder: true, name: folder.name, parent: this.currentRoot ? this.currentRoot.id : 'root' });

代码如下所示:

main.component.ts:

currentRoot: MpFileElement = new MpFileElement(); … addFolder(folder: { name: string }) { this.fileService.add({ isFolder: true, name: folder.name, parent: this.currentRoot ? this.currentRoot.id : ‘root’ }); this.updateFileElementQuery(); } …


文件.service.ts:

import { Injectable } from ‘@angular/core’;

import { v4 } from ‘uuid’; import { MpFileElement } from ‘../models/mp-file-element.model’; import { Observable } from ‘rxjs/internal/Observable’; import { BehaviorSubject } from ‘rxjs’;

export interface IFileService { add(fileElement: MpFileElement); delete(id: string); update(id: string, update: Partial); queryInFolder(folderId: string): Observable; get(id: string): MpFileElement; }

@Injectable() export class MpFileService implements IFileService {

constructor() {}
private map = new Map<string, MpFileElement>()

private querySubject: BehaviorSubject<MpFileElement[]>;

add(fileElement: MpFileElement) {
    fileElement.id = v4();
    this.map.set(fileElement.id, this.clone(fileElement));
    return fileElement;
}

delete(id: string) {
    this.map.delete(id);
}

update(id: string, update: Partial<MpFileElement>) {
    let element = this.map.get(id);
    element = Object.assign(element, update);
    this.map.set(element.id, element);
}
queryInFolder(folderId: string) {
    const result: MpFileElement[] = [];
    this.map.forEach(element => {
        if (element.parent === folderId) {
            result.push(this.clone(element));
        }
    })
    if (!this.querySubject) {
        this.querySubject = new BehaviorSubject(result);
    } else {
        this.querySubject.next(result);
    }
    return this.querySubject.asObservable();
}

get(id: string) {
    return this.map.get(id);
}

clone(element: MpFileElement) {
    return JSON.parse(JSON.stringify(element));
}

}

”`

原文由 xavn-mpt 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 753
1 个回答

对于那些在离子存储中遇到此类问题的人,请尝试使用:

 npm i @ionic/storage@2.2.0

原文由 Ayoub EL ABOUSSI 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进