“剪贴板”类型上不存在属性“复制”

Thé*_*lez 4 clipboard angular

我试图在单击按钮时复制文本。我尝试遵循 Angular 的文档(https://material.angular.io/cdk/clipboard/overview#programmatically-copy-a-string),但我的终端在编译时出现以下错误:

“剪贴板”类型上不存在属性“复制”

这是我的 .ts 文件:

export class myComponent implements OnInit {
  constructor(private clipboard: Clipboard) {}
  ngOnInit(): void {}

  copyTest() {
    this.clipboard.copy("test"); // Property 'copy' does not exist on type 'Clipboard'.
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 .html 文件:

<button [cdkCopyToClipboard]="copyTest()">Click to copy</button>
Run Code Online (Sandbox Code Playgroud)

这是我的 app.module.ts 文件:

import { ClipboardModule } from "@angular/cdk/clipboard";

@NgModule({
  declarations: [
    AppComponent,
    myComponent,
  ],
  imports: [
    ClipboardModule,
  ]
})
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这个错误?

DTu*_*Tul 10

您一定缺少剪贴板的正确导入。

尝试将: 添加import { Clipboard } from '@angular/cdk/clipboard';到您的 .ts 文件以及 app.module.ts 中。

还有一个接口 Clipboard,您的 IDE 可能会接受它作为有效的 TS。