Search

Angular's Articles

Angular - Browse articles to learn, error solve for angular web application framework.

PDF viewer integration with Example in Angular
If you require to visually perceive an example of angular 11/10 ng2-pdf-viewer example. i would relish apportioning with your angular 11/10 pdf viewer example. Here you will learn angular 11/10 pdf viewer and editor. it's a simple example of angular 11/10 ng2-pdf-viewer print. In this example, we will utilize ng2-pdf-viewer npm package to pdf file viewer in angular 11 application. we will simply install that ng2-pdf-viewer npm package and use the PdfViewerModule module to engender code. Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install ng2-pdf-viewer npm Package Now in this step, we need to just install ng2-pdf-viewer in our angular application. so let's add as like bellow: npm install ng2-pdf-viewer --save Step 3: Import PdfViewerModule we will import PdfViewerModule module as like bellow code: src/app/app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { PdfViewerModule } from 'ng2-pdf-viewer'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, PdfViewerModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { pdfFilePath = "https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf"; } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>Angular PDF File Viewer Example - HackTheStuff</h1> <pdf-viewer [src]="pdfFilePath" [render-text]="true" style="display: block;" ></pdf-viewer> i hope it will be help you.
Generate QR Code using angularx-qrcode in Angular
This article is fixated on how to engender QR code in angular 11. you'll learn the angular 11 engender QR code demo. I expounded simply step-by-step angular 11 engender QR code. In this article, we will implement a engender QR code angular 11. Alright, let’s dive into the steps. In this example, we will utilize angularx-qrcode the npm package to engender QR code in the angular 11 application. we will simply install that angularx-qrcode npm package and use QRCodeModule a module to engender code. So, let's visually perceive bellow step and get QR code as like below screenshot: Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install angularx-qrcode npm Package Now in this step, we need to just install angularx-qrcode in our angular application. so let's add as like bellow: npm install angularx-qrcode --save Step 3: Import QRCodeModule we will import QRCodeModule module as like bellow code: src/app/app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { QRCodeModule } from 'angularx-qrcode'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, QRCodeModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { public myAngularxQrCode: string = null; constructor () { this.myAngularxQrCode = 'ItSoluionStuff.com'; } } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>How to Generate QR Code in Angular - HackTheStuff</h1> <qrcode [qrdata]="'myAngularxQrCode'" [width]="256" [errorCorrectionLevel]="'M'"></qrcode> I hope it can help you.
How to implement slick in Owl Carousel Slider In Angular
Today, angular 11 carousel slider example is our main topic. we will avail you to give example of angular 11 slick slider example. you can understand a concept of angular 11 slick carousel example. if you have question about slick carousel in angular 11 then i will give simple example with solution. Here, Engendering a rudimental example of angular 11 ngx-slick-carousel example. ngx-slick-carousel package provide to integrating slider to your angular project. here we will visually perceive slick carousel simple example with preview: Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install npm Package Now in this step, we need to just install jquery, slick-carousel and ngx-slick-carousel in our angular application. so let's add as like bellow: npm install jquery --save npm install slick-carousel --save npm install ngx-slick-carousel --save Step 3: Import SlickCarouselModule we will import SlickCarouselModule module as like bellow code: src/app/dulapp.moe.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { SlickCarouselModule } from 'ngx-slick-carousel'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, SlickCarouselModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } now we also need to import js and css into our angular.json file. do it as like bellow: angular.json ... "styles": [ "node_modules/slick-carousel/slick/slick.scss", "node_modules/slick-carousel/slick/slick-theme.scss" ], "scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/slick-carousel/slick/slick.min.js" ] .... Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'ng-carousel-demo'; slides = [ {img: "https://dummyimage.com/350x150/423b42/fff"}, {img: "https://dummyimage.com/350x150/2a2b7a/fff"}, {img: "https://dummyimage.com/350x150/1a2b7a/fff"}, {img: "https://dummyimage.com/350x150/7a2b7a/fff"}, {img: "https://dummyimage.com/350x150/9a2b7a/fff"}, {img: "https://dummyimage.com/350x150/5a2b7a/fff"}, {img: "https://dummyimage.com/350x150/4a2b7a/fff"} ]; slideConfig = {"slidesToShow": 4, "slidesToScroll": 4}; slickInit(e) { console.log('slick initialized'); } breakpoint(e) { console.log('breakpoint'); } afterChange(e) { console.log('afterChange'); } beforeChange(e) { console.log('beforeChange'); } } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>Add Slick in Carousel/Slider - HackTheStuff</h1> <ngx-slick-carousel class="carousel" #slickModal="slick-carousel" [config]="slideConfig" (init)="slickInit($event)" (breakpoint)="breakpoint($event)" (afterChange)="afterChange($event)" (beforeChange)="beforeChange($event)"> <div ngxSlickItem *ngFor="let slide of slides" class="slide"> <img src="{{ slide.img }}" alt="" width="100%"> </div> </ngx-slick-carousel> Step 6: Update CSS File now you can update css file as like bellow: src/style.css .slick-slider { width: 88%; margin: auto; background: rgb(14, 13, 13); } body .slick-prev, body .slick-next { height: 45px; width: 40px; background: #575d59 !important; z-index: 100; } i hope it will be help you.
Hot to Create Bar Chart in Angular using ng2-charts
This tutorial will give you an example of an angular 11 bar chart example. you can optically discern angular 11 bar chart npm. we will avail you to give an example of angular 11 ng2-charts bar chart . you can visually perceive how to integrate bar charts in angular 11. Let's optically discern below the example angular 11 bar chart example. In this example, we will utilize the ng2-charts npm package to engender bar chart example in angular 11 application. we will simply install that ng2-charts npm package and use the ChartsModule module to engender code. Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install ng2-charts npm Package Now in this step, we need to just install ng2-charts in our angular application. so let's add as like bellow: npm install ng2-charts chart.js --save Step 3: Import ChartsModule we will import ChartsModule module as like bellow code: src/app/app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { AppComponent } from './app.component'; import { ChartsModule } from 'ng2-charts'; @NgModule({ imports: [ BrowserModule, FormsModule, ChartsModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { } Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component, OnInit } from '@angular/core'; import { ChartOptions, ChartType, ChartDataSets } from 'chart.js'; import { Label } from 'ng2-charts'; @Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: [ './app.component.css' ] }) export class AppComponent { public barChartOptions: ChartOptions = { responsive: true, }; public barChartLabels: Label[] = ['2015', '2016', '2017', '2018', '2019', '2020']; public barChartType: ChartType = 'bar'; public barChartLegend = true; public barChartPlugins = []; public barChartData: ChartDataSets[] = [ { data: [65, 67, 70, 75, 80, 90], label: 'PHP' }, { data: [50, 48, 47, 49, 44, 40], label: '.Net' }, { data: [40, 30, 28, 25, 22, 20], label: 'Java' }, ]; constructor() { } ngOnInit() { } } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>Angular Bar Chart Example - HackTheStuff</h1> <div style="display: block;" > <canvas baseChart [datasets]="barChartData" [labels]="barChartLabels" [options]="barChartOptions" [plugins]="barChartPlugins" [legend]="barChartLegend" [chartType]="barChartType"> </canvas> </div> Now you can run by bellow command: ng serve now you can check it. I hope it can help you.
Angular 12 RxJs Observable Example
In this tutorial we will cover an angular 12 overt example. you will learn angular 12 rxjs overt example. In this article, we will implement a angular 12 http overt example. i would relish to show you angular 12 overt with httpclient example. follow bellow step for overt in angular 12 example. If you don't ken how to utilize overt with httpclient request in angular application then i will avail you getting done. we always prefer to utilize overt for http request that avail to manage server request and monitor to server request. overt is provided by rxjs. Here, i will give you very simple example with http request with overt in angular. we will utilize jsonplaceholder api to make api request. so let's follow some step to get example done, i additionally affix preview on bottom. Step 1: Create New App You can easily create your angular app using bellow command: ng new my-new-app Step 2: Import HttpClientModule In this step, we need to import HttpClientModule to app.module.ts file. so let's import it as like bellow: src/app/app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { HttpClientModule } from '@angular/common/http'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, HttpClientModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Step 3: Create Post Class In this step, we will simply create Post class and define data types of returning data. so let's create post.ts file and put bellow code: src/app/post.ts export class Post { constructor( public body: string, public id: number, public title: string, public userId: number ) {} } Step 4: Create Service for Call API Here, we need to create service for http client request. we will create service file and write client http request using observable code. this service will use in our component file. So let's create service and put bellow code: ng g s post Now let's add code as like bellow: src/app/post.service.ts import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { Post } from './post'; @Injectable({ providedIn: 'root' }) export class PostService { private url: string = 'https://jsonplaceholder.typicode.com/posts'; constructor(private httpClient: HttpClient) { } public getPosts(): Observable{ return this.httpClient.get(this.url); } } Step 5: Use Service to Component Now we have to use this services to our app component. So let's updated code as like bellow: src/app/app.component.ts import { Component, OnInit } from '@angular/core'; import { PostService } from './post.service'; import { Post } from './post'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { name = 'Angular'; posts = new Array(); constructor(private service:PostService) {} ngOnInit() { this.service.getPosts().subscribe(response => { this.posts = response.map(item => { return new Post( item.body, item.id, item.title, item.userId ); }); }); } } Step 6: Updated View File Now here, we will updated our html file. let's put bellow code: I used bootstrap class on this form. src/app/app.component.html   Angular 12 Observables HttpClient Example ID Body Title UserID {{ post.id }} {{ post.body }} {{ post.title }} {{ post.userId }} Now we are ready to run our example, you can run by following command: ng serve i hope you like this article.
Angular 12 Owl Carousel Tutorial Example
I will expound step by step tutorial angular 11 owl carousel example. We will optically canvass example of angular 11 owl-carousel example. i would relish to apportion with you angular 11 owl slider example. you'll learn angular 11 owl carousel example. ngx-owl-carousel-o package provide to integrating owl slider to your angular project. here we will visually perceive owl carousel simple example with preview: Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install npm Package Now in this step, we need to just install jquery and ngx-owl-carousel-o in our angular application. so let's add as like bellow: npm install jquery --save npm install ngx-owl-carousel-o Step 3: Import CarouselModule we will import CarouselModule module as like bellow code: src/app/app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { CarouselModule } from 'ngx-owl-carousel-o'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, CarouselModule, BrowserAnimationsModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } now we also need to import js and css into our angular.json file. do it as like bellow: angular.json ... "styles": [ "node_modules/ngx-owl-carousel-o/lib/styles/prebuilt-themes/owl.carousel.min.css", "node_modules/ngx-owl-carousel-o/lib/styles/prebuilt-themes/owl.theme.default.min.css", ], "scripts": [ "node_modules/jquery/dist/jquery.min.js", ] .... Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component } from '@angular/core'; import { OwlOptions } from 'ngx-owl-carousel-o'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'ng-carousel-demo'; customOptions: OwlOptions = { loop: true, mouseDrag: false, touchDrag: false, pullDrag: false, dots: false, navSpeed: 700, navText: ['', ''], responsive: { 0: { items: 1 }, 400: { items: 2 }, 740: { items: 3 }, 940: { items: 4 } }, nav: true } slides = [ {id: 1, img: "https://dummyimage.com/350x150/423b42/fff"}, {id: 2, img: "https://dummyimage.com/350x150/2a2b7a/fff"}, {id: 3, img: "https://dummyimage.com/350x150/1a2b7a/fff"}, {id: 4, img: "https://dummyimage.com/350x150/7a2b7a/fff"}, {id: 5, img: "https://dummyimage.com/350x150/9a2b7a/fff"}, {id: 6, img: "https://dummyimage.com/350x150/5a2b7a/fff"}, {id: 6, img: "https://dummyimage.com/350x150/4a2b7a/fff"} ]; } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>Angular 12 Owl Carousel Integration</h1> <owl-carousel-o [options]="customOptions"> <ng-container *ngFor="let slide of slides"> <ng-template carouselSlide [id]="slide.id"> <img [src]="slide.img" > </ng-template> </ng-container> </owl-carousel-o> Now you can run by bellow command: ng serve I hope it can help you.
Angular 12 Bar Chart using ng2-charts Example
This tutorial will give you an example of an angular 11 bar chart example. you can optically discern angular 11 bar chart npm. we will avail you to give an example of angular 11 ng2-charts bar chart . you can visually perceive how to integrate bar charts in angular 11. Let's optically discern below the example angular 11 bar chart example. In this example, we will utilize the ng2-charts npm package to engender bar chart example in angular 11 application. we will simply install that ng2-charts npm package and use the ChartsModule module to engender code. Step 1: Create New App You can easily create your angular app using bellow command: ng new myNewApp Step 2: Install ng2-charts npm Package Now in this step, we need to just install ng2-charts in our angular application. so let's add as like bellow: npm install ng2-charts chart.js --save Step 3: Import ChartsModule we will import ChartsModule module as like bellow code: src/app/app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { AppComponent } from './app.component'; import { ChartsModule } from 'ng2-charts'; @NgModule({ imports: [ BrowserModule, FormsModule, ChartsModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { } Step 4: Update Ts File here, we need to update ts file as like bellow: src/app/app.component.ts import { Component, OnInit } from '@angular/core'; import { ChartOptions, ChartType, ChartDataSets } from 'chart.js'; import { Label } from 'ng2-charts'; @Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: [ './app.component.css' ] }) export class AppComponent { public barChartOptions: ChartOptions = { responsive: true, }; public barChartLabels: Label[] = ['2015', '2016', '2017', '2018', '2019', '2020']; public barChartType: ChartType = 'bar'; public barChartLegend = true; public barChartPlugins = []; public barChartData: ChartDataSets[] = [ { data: [65, 67, 70, 75, 80, 90], label: 'PHP' }, { data: [50, 48, 47, 49, 44, 40], label: '.Net' }, { data: [40, 30, 28, 25, 22, 20], label: 'Java' }, ]; constructor() { } ngOnInit() { } } Step 5: Update HTML File here, we need to update html file as like bellow code: src/app/app.component.html <h1>Angular Bar Chart Example - HackTheStuff</h1> <div style="display: block;" > <canvas baseChart [datasets]="barChartData" [labels]="barChartLabels" [options]="barChartOptions" [plugins]="barChartPlugins" [legend]="barChartLegend" [chartType]="barChartType"> </canvas> </div> Now you can run by bellow command: ng serve now you can check it. I hope it can help you.
Create CRUD Application Example with REST Web API in Angular
In this article, I will share with you how to create angule 11 CRUD application with the REST Web API with example. you just follow the steps. The REST API Endpoints We'll be building an Angular 11 frontend app for a surmised REST API exporting the following REST API endpoints: POST /api/products engender incipient product GET /api/products retrieve all products GET /api/products/:id retrieve a product by :id PUT /api/products/:id update a product by :id EXPUNGE /api/products/:id expunge a product by :id EFFACE /api/products efface all products GET /api/products?name=[keyword] find all products which designation contains the passed keyword. All of them can work well with this Angular App. Angular 11 CRUD App Structure These are the components of our CRUD app: The App component is the parent of all other components and contains a router-outlet directive where the router will be inserting any matched component. It withal contains a navigation bar that contains links to the app routes utilizing routerLink directive. – ProductListComponent which exhibits the list of products. – ProductUpdateComponent which exhibits a form for editing product’s details by :id. – ProductCreateComponent which exhibits a form for engendering an incipient product. The components utilize the ProductService methods for genuinely making CRUD operations against the REST API. The accommodation makes utilization of Angular 11 HTTPClient to send HTTP requests to the REST and process replications. Step 1: Creating a New Angular 11 Project Let's get started by generating a new Angular 11 project using the CLI. You need to run the following command: $ ng new Angular11CRUDExample The CLI will ask you a couple of questions — If Would you like to add Angular routing? Type y for Yes and Which stylesheet format would you like to use? Choose CSS. Step 2: Generating Angular 11 CRUD Components and Service Next, we need to generate a bunch of components and a service using the Angular CLI as follows: $ ng generate service services/product $ ng g c components/product-create $ ng g c components/product-details $ ng g c components/product-list We have generated three components product-list, product-details, product-create and a product service that provides the necessary methods for sending HTTP requests to the server. We also have the following artifacts: – The src/app/app-routing.module.ts module will contain routes for each component. This file is automatically generated by Angular CLI when you answered Yes for routing. – The App component contains the router view and navigation bar. – The src/app/app.module.ts module declares our Angular components and import the necessary modules such Angular HttpClient. Step 3: Importing FormsModule and HttpClientModule We'll be using the http client and forms in our CRUD application which are provided in its own modules in Angular so we'll need to import these modules — FormsModule and HttpClientModule. Open src/app/app.module.ts file and import FormsModule, HttpClientModule as follows: // [...] import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; @NgModule({ declarations: [ ... ], imports: [ ... FormsModule, HttpClientModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Step 4: Adding Routes for the CRUD Components We have the components that compose our application UI but we need to link them with their routes to be able to navigate between them using the Angular 11 Router. We'll create three routes: – /products for the product-list component, – /products/:id for the product-details component, – /create for theproduct-create component. Open the src/app/app-routing.module.ts file and update it as follows: import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { ProductListComponent } from './components/product-list/product-list.component'; import { ProductDetailsComponent } from './components/product-details/product-details.component'; import { ProductCreateComponent } from './components/product-create/product-create.component'; const routes: Routes = [ { path: '', redirectTo: 'products', pathMatch: 'full' }, { path: 'products', component: ProductListComponent }, { path: 'products/:id', component: ProductDetailsComponent }, { path: 'create', component: ProductCreateComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { } Step 5: Adding and Styling a Navigation Bar Using Bootstrap 4 Next, let's add Bootstrap 4 to our application and a navigation bar. Open the src/app/app.component.html file, and update as follows: <div> <nav class="navbar navbar-expand navbar-dark bg-dark"> <a href="#" class="navbar-brand">Techiediaries</a> <div class="navbar-nav mr-auto"> <li class="nav-item"> <a routerLink="products" class="nav-link">Products</a> </li> <li class="nav-item"> <a routerLink="create" class="nav-link">Create</a> </li> </div> </nav> <div class="container mt-5"> <router-outlet></router-outlet> </div> </div> We have created a bootstrap navigation bar and wrapped the router outlet with a container div. Step 6: Creating an Angular 11 CRUD Service Next, we need to create a CRUD service that will use Angular 11 HTTPClient to send HTTP requests to the REST API server. Open the src/services/product.service.ts file and update it as follows: import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; const baseURL = 'http://localhost:8080/api/products'; @Injectable({ providedIn: 'root' }) export class ProductService { constructor(private httpClient: HttpClient) { } readAll(): Observable<any> { return this.httpClient.get(baseURL); } read(id): Observable<any> { return this.httpClient.get(`${baseURL}/${id}`); } create(data): Observable<any> { return this.httpClient.post(baseURL, data); } update(id, data): Observable<any> { return this.httpClient.put(`${baseURL}/${id}`, data); } delete(id): Observable<any> { return this.httpClient.delete(`${baseURL}/${id}`); } deleteAll(): Observable<any> { return this.httpClient.delete(baseURL); } searchByName(name): Observable<any> { return this.httpClient.get(`${baseURL}?name=${name}`); } } Step 7: Implementing the Angular 11 CRUD Components We have previously generated three components and added them to the router, let's now implement the actual functionality of each component. Creating a New Product Component This component provides a form for submitting a new product with two fields, name and description. It injects and calls the ProductService.create() method. Open the src/components/product-create/product-create.component.ts file and update it as follows: import { Component, OnInit } from '@angular/core'; import { ProductService } from 'src/app/services/product.service'; @Component({ selector: 'app-product-create', templateUrl: './product-create.component.html', styleUrls: ['./product-create.component.css'] }) export class ProductCreateComponent implements OnInit { product = { name: '', description: '', available: false }; submitted = false; constructor(private productService: ProductService) { } ngOnInit(): void { } createProduct(): void { const data = { name: this.product.name, description: this.product.description }; this.productService.create(data) .subscribe( response => { console.log(response); this.submitted = true; }, error => { console.log(error); }); } newProduct(): void { this.submitted = false; this.product = { name: '', description: '', available: false }; } } Next, open the src/components/product-create/product-create.component.html file and update it as follows: <div style="width: 500px; margin: auto;"> <div class="submit-form"> <div *ngIf="!submitted"> <div class="form-group"> <label for="name">Name</label> <input type="text" class="form-control" id="name" required [(ngModel)]="product.name" name="name" /> </div> <div class="form-group"> <label for="description">Description</label> <input class="form-control" id="description" required [(ngModel)]="product.description" name="description" /> </div> <button (click)="createProduct()" class="btn btn-success">Create</button> </div> <div *ngIf="submitted"> <h3>You successfully created a product!</h3> <button class="btn btn-success" (click)="newProduct()">New..</button> </div> </div> </div> Displaying the List of Products Component Next, let's implement the product list component, which makes use of the following service methods: readAll() deleteAll() searchByName() Open the src/components/product-list/product-list.component.ts file and update it as follows: import { Component, OnInit } from '@angular/core'; import { ProductService } from 'src/app/services/product.service'; @Component({ selector: 'app-product-list', templateUrl: './product-list.component.html', styleUrls: ['./product-list.component.css'] }) export class ProductListComponent implements OnInit { products: any; currentProduct = null; currentIndex = -1; name = ''; constructor(private productService: ProductService) { } ngOnInit(): void { this.readProducts(); } readProducts(): void { this.productService.readAll() .subscribe( products => { this.products = products; console.log(products); }, error => { console.log(error); }); } refresh(): void { this.readProducts(); this.currentProduct = null; this.currentIndex = -1; } setCurrentProduct(product, index): void { this.currentProduct = product; this.currentIndex = index; } deleteAllProducts(): void { this.productService.deleteAll() .subscribe( response => { console.log(response); this.readProducts(); }, error => { console.log(error); }); } searchByName(): void { this.productService.searchByName(this.name) .subscribe( products => { this.products = products; console.log(products); }, error => { console.log(error); }); } } Open the src/components/product-list/product-list.component.html file and update it as follows: <div class="list row"> <div class="col-md-8"> <div class="input-group mb-4"> <input type="text" class="form-control" placeholder="Search by name" [(ngModel)]="name" /> <div class="input-group-append"> <button class="btn btn-outline-secondary" type="button" (click)="searchByName()" > Search </button> </div> </div> </div> <div class="col-md-6"> <h4>Product List</h4> <ul class="list-group"> <li class="list-group-item" *ngFor="let product of products; let i = index" [class.active]="i == currentIndex" (click)="setCurrentProduct(product, i)" > </li> </ul> <button class="m-4 btn btn-sm btn-danger" (click)="deleteAllProducts()"> Delete All </button> </div> <div class="col-md-6"> <div *ngIf="currentProduct"> <h4>Product</h4> <div> <label><strong>Name:</strong></label> </div> <div> <label><strong>Description:</strong></label> </div> <div> <label><strong>Status:</strong></label> </div> <a class="badge badge-warning" routerLink="/products/"> Edit </a> </div> <div *ngIf="!currentProduct"> <br /> <p>Please click on a product</p> </div> </div> </div> If you click on Edit button of any product, you will be directed to the product details page with the /products/:id URL. The Product Details Component Next, let's implement the product details component of our Angular 11 CRUD application. Open the src/components/product-details/product-details.component.ts file and update it as follows: import { Component, OnInit } from '@angular/core'; import { ProductService } from 'src/app/services/product.service'; import { ActivatedRoute, Router } from '@angular/router'; @Component({ selector: 'app-product-details', templateUrl: './product-details.component.html', styleUrls: ['./product-details.component.css'] }) export class ProductDetailsComponent implements OnInit { currentproduct = null; message = ''; constructor( private productService: ProductService, private route: ActivatedRoute, private router: Router) { } ngOnInit(): void { this.message = ''; this.getProduct(this.route.snapshot.paramMap.get('id')); } getProduct(id): void { this.productService.read(id) .subscribe( product => { this.currentProduct = product; console.log(product); }, error => { console.log(error); }); } setAvailableStatus(status): void { const data = { name: this.currentProduct.name, description: this.currentProduct.description, available: status }; this.productService.update(this.currentProduct.id, data) .subscribe( response => { this.currentProduct.available = status; console.log(response); }, error => { console.log(error); }); } updateProduct(): void { this.productService.update(this.currentProduct.id, this.currentProduct) .subscribe( response => { console.log(response); this.message = 'The product was updated!'; }, error => { console.log(error); }); } deleteProduct(): void { this.productService.delete(this.currentProduct.id) .subscribe( response => { console.log(response); this.router.navigate(['/products']); }, error => { console.log(error); }); } } Open the src/components/product-details/product-details.component.html file and update it as follows: <div style="width: 500px; margin: auto;"> <div *ngIf="currentProduct" class="edit-form"> <h4>Product</h4> <form> <div class="form-group"> <label for="title">Name</label> <input type="text" class="form-control" id="name" [(ngModel)]="currentProduct.name" name="name" /> </div> <div class="form-group"> <label for="description">Description</label> <input type="text" class="form-control" id="description" [(ngModel)]="currentProduct.description" name="description" /> </div> <div class="form-group"> <label><strong>Status:</strong></label> </div> </form> <button class="badge badge-primary mr-2" *ngIf="currentProduct.available" (click)="setAvailableStatus(false)" > Set Not Available </button> <button *ngIf="!currentProduct.available" class="badge badge-primary mr-2" (click)="setAvailableStatus(true)" > Set Available </button> <button class="badge badge-danger mr-2" (click)="deleteProduct()"> Delete </button> <button type="submit" class="badge badge-success" (click)="updateProduct()" > Update </button> <p></p> </div> <div *ngIf="!currentProduct"> <br /> <p>This product is not accessible</p> </div> </div> Step 8: Serving the Angular 11 CRUD App Head back to your command-line interface, make sure your are navigated at the root of your project's directory and run the following command to start a live development server in your local machine: $ cd Angular11CRUDExample $ ng serve Go to your web browser and navigate to the http://localhost:4200/ address to start testing your app. it will help you.