自定义角度指令在 WebStorm IDE 中不起作用

问题描述 投票:0回答:1

我创建了一个名为

ngForFlTrackByIndex
的自定义指令,用于在
ngFor
内部使用。
vscode
一切都很好,但
WebStorm
抱怨
Expression expected

enter image description here

还有指令代码:

@Directive({
  selector: '[ngForFlTrackByIndex]',
  standalone: true,
})
export class TrackByIndexDirective<T> {
  constructor(@Host() private readonly _ngFor: NgForOf<T>) {
    this._ngFor.ngForTrackBy = (index: number): number => index;
  }
}

有什么想法吗?

angular typescript webstorm ngfor
1个回答
0
投票

“预期表达式”错误通常意味着 IDE(在本例中为 WebStorm)需要某种表达式,而当前没有表达式。这可能是由于语法错误或 IDE 的误解造成的。

在您的情况下,代码似乎是正确的,如果它在 VSCode 和您的应用程序中工作正常,则可能是 WebStorm 本身的问题。

import { Directive, Host } from '@angular/core';
import { NgForOf } from '@angular/common';

@Directive({
  selector: '[ngForFlTrackByIndex]'
})
export class TrackByIndexDirective<T> {
  constructor(@Host() private readonly _ngFor: NgForOf<T>) {
    this._ngFor.ngForTrackBy = (index: number): number => index;
  }
}

WebStorm 可能不完全支持 Angular 语法或在构造函数中使用装饰器和依赖项注入的方式。

您可以尝试以下一些方法:

  • 确保您使用的是最新版本的 WebStorm。捷脑公司 定期更新他们的 IDE 以支持最新功能 语言和框架。

  • 检查您的 WebStorm 设置以确保其配置正确 用于角度开发。您可以在“语言”下找到这些设置 & 框架” > “JavaScript” > “框架”。

  • 使缓存无效并重新启动 WebStorm。有时IDE会缓存 可能会导致问题。您可以从“文件”菜单执行此操作。

如果这些解决方案都不起作用,您可能需要考虑联系 JetBrains 支持人员或查看他们的论坛以获取更具体的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.