Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Cancellazione dei record

Concludiamo la creazione della nostra applicazione basata su PHP e Angular sviluppando la parte relativa alla cancellazione dei record.
Concludiamo la creazione della nostra applicazione basata su PHP e Angular sviluppando la parte relativa alla cancellazione dei record.
Link copiato negli appunti

L'ultima funzionalità che dovremo implementare nella nostra applicazione è la cancellazione del record, ma tale operazione sarà poco più di una formalità. Come sempre andiamo a creare tramite CLI il component che si occuperà dell'operazione:

[code]ng g component prodotti/delete-product[/code]

Lo aggiungiamo al file app.module sia negli import che nelle declarations:

import { DeleteProductComponent } from './products/delete-product/delete-product.component';
@NgModule({
  declarations: [
    ..
    DeleteProductComponent,
  ],

Andiamo a mappare la rotta nel modulo:

import {DeleteProductComponent} from './products/delete-product/delete-product.component';
const routes:Routes=[
..
    {path:'delete/:id', component:DeleteProductComponent},
Come già visto precedentemente per la modifica, il link all'eliminazione del record si trova nella lista dei prodotti:
[code lang=javascript]<a [routerLink]="['/delete',product.id]" class='btn btn-danger'>
            <span class='glyphicon glyphicon-remove'></span> Delete
          </a>

Procediamo con la creazione del nostro component che rispetto a quello della modifica sarà decisamente più semplice. Partiamo dai moduli da importare:

import { Component } from '@angular/core';
import { Router, ActivatedRoute} from '@angular/router';
import { ProductService } from '../../product.service';

Continuiamo con il decoratore:

@Component({
    selector: 'app-delete-product',
    templateUrl: './delete-product.component.html',
    styleUrls: ['./delete-product.component.css'],
    providers: [ProductService]
})

Nella class aggiungiamo la proprietà relativa all'id del prodotto da eliminare che valorizzeremo con il modulo ActivatedRoute:

product_id:number;

Procediamo con il costruttore:

constructor(private productService: ProductService, private route:ActivatedRoute, private router:Router){}

E quindi valorizziamo all'OnInit la proprietà product_id

ngOnInit(){
        this.route.params.subscribe(params => {
            this.product_id=params['id'];
        });
    }

Il template sarà essenziale. Avremo una pagina dove verrà chiesta conferma, il pulsante non riporta alla lista dei prodotti mentre sul pulsante si è mappata la funzione che cancellerà il record:

[code]<section>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body text-align-center">Sei sicuro?</div>
<div class="panel-footer clearfix">
<div class="text-align-center">
<button (click)="deleteProduct()" class="btn btn-danger">
<span class="glyphicon glyphicon-ok-sign"></span> Si
</button>
<a routerLink="/home" class="btn btn-primary">
<span class="glyphicon glyphicon-remove-sign"></span> No
</a>
</div>
</div>
</div>
</div>
<div class="col-md-3"></div>
</div>
</section>[/code]

Prima di implementare la funzione deleteProduct() creiamo il metodo nel service:

deleteProduct(product_id){
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });
        return this._http.delete(
            "http://localhost/phprest/api/v1/prodotti/"+product_id,
            options
        ).map(res => res.json());
    }

Le novità rispetto a quanto già visto in precedenza sono sostanzialmente due: la prima è che il parametro d'ingresso è un semplice numero ovvero l'id del record da cancellare, la seconda il metodo delete per effettuare la chiamata.

Non resta che creare il metodo nel component:

deleteProduct(){
    this.productService.deleteProduct(this.product_id)
        .subscribe(
            product => {
                this.router.navigateByUrl('/home');
            }
        );
    }

Effettuiamo la chiamata al service e tramite questa al backend al click sul pulsante, ottenuta la risposta dal server torniamo sulla lista dei prodotti. Con quest'ultimo passaggio la nostra applicazione CRUD con frontend Angular e backend PHP è completa.

Descrizione: Cancellazione dei record in un'applicazione basata su PHP e Angular.
Riassunto: Concludiamo la creazione della nostra applicazione basata su PHP e Angular sviluppando la parte relativa alla cancellazione dei record.


Ti consigliamo anche