Estoy tratando de copiar un texto cuando se hace clic en un botón. Intenté seguir la documentación de Angular ( https://material.angular.io/cdk/clipboard/overview#programmatically-copy-a-string ) pero mi terminal me da el siguiente error al compilar:
La propiedad 'copia' no existe en el tipo 'Portapapeles'
Aquí está mi archivo .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'. } }
Aquí está mi archivo .html:
<button [cdkCopyToClipboard]="copyTest()">Click to copy</button>
Y aquí está mi archivo app.module.ts:
import { ClipboardModule } from "@angular/cdk/clipboard"; @NgModule({ declarations: [ AppComponent, myComponent, ], imports: [ ClipboardModule, ] })
¿Alguna idea de por qué se produce este error?
Debe faltar la importación correcta para el Portapapeles.
Intente agregar: import { Clipboard } from '@angular/cdk/clipboard';
a su archivo .ts, así como a su app.module.ts.
También hay un Portapapeles de interfaz que su IDE probablemente acepte como TS válido.
Prueba esto en su lugar:
<button [cdkCopyToClipboard]="copyTest('Test!')">Click to copy</button> copyTest(test: string) { this.clipboard.copy(test); }