您得到的错误有点奇怪,因为在尝试将非独立指令导入独立组件时我得到了不同的错误:
https://stackblitz.com/edit/angular-ivy-xsdtcl?file=src/app/test.component.ts
指令“TestDirective”出现在“imports”中,但不是独立的,不能直接导入。它必须通过 NgModule 导入。
...这基本上表明您要导入的指令本身必须是独立的,或者是必须导入的模块的一部分(因为仍必须声明非独立指令)。
制定指令
standalone
解决了错误。
@Directive({
selector: '[appClickOutside]',
standalone: true, // Make the directive standalone
})