'Property 'copy' does not exist on type 'Clipboard'
I'm trying to copy a text when a button is clicked. I tried following Angular's documentation (https://material.angular.io/cdk/clipboard/overview#programmatically-copy-a-string) but my terminal is giving me the following error when compiling:
Property 'copy' does not exist on type 'Clipboard'
Here's my .ts file:
export class myComponent implements OnInit {
constructor(private clipboard: Clipboard) {}
ngOnInit(): void {}
copyTest() {
this.clipboard.copy("test"); // Property 'copy' does not exist on type 'Clipboard'.
}
}
Here's my .html file:
<button [cdkCopyToClipboard]="copyTest()">Click to copy</button>
And here's my app.module.ts file:
import { ClipboardModule } from "@angular/cdk/clipboard";
@NgModule({
declarations: [
AppComponent,
myComponent,
],
imports: [
ClipboardModule,
]
})
Any ideas why this error is occurring?
Solution 1:[1]
You must be missing the correct import for Clipboard.
Try adding: import { Clipboard } from '@angular/cdk/clipboard';
to your .ts file as well as your app.module.ts.
There is an interface Clipboard as well which your IDE probably accepts as valid TS.
Solution 2:[2]
Try this instead:
<button [cdkCopyToClipboard]="copyTest('Test!')">Click to copy</button>
copyTest(test: string) {
this.clipboard.copy(test);
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Dharman |