我尝试在 Angular 18 应用程序中使用 ModelSignal,但编译器抱怨
Can't bind to test since it is not provided by any applicable directives
。
我检查了文档,但找不到与我所拥有的任何区别......
由于我无法使 ModelSignal 工作,因此我尝试使用 InputSignal 和 OutputEmitter 的组合,但输出无法识别。
节点v20.14.0 角度 CLI 18.0.3 默认配置
我的组件看起来像:
import {Component, input, model, output} from '@angular/core';
@Component({
selector: 'app-test',
standalone: true,
imports: [],
templateUrl: './test.component.html'
})
export class TestComponent {
test = model<number>(0);
in = input<number>(0);
ou = output<number>();
}
我的父组件的模板如下所示:
<app-test [in]="1" (ou)="foo($event)" [(test)]="test" />
[in] 被正确识别,但 (ou) 和 [(test)] 都未被识别并且编译失败。
有任何关于为什么它不起作用的线索吗?
好的,正如 @Nifiro 所建议的,问题出在 IDE 上。
我使用的是 WebStorm 2024.1 并更新到 WebStorm 2024.1.3 解决了该问题。 奇怪的是 IDE 没有警告我有可用更新...