diff --git a/src/app/app.component.html b/src/app/app.component.html
index 0a0a809..6e1bfaf 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -5,6 +5,7 @@
Angular Service
Http
Pipe
+ Event
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 4973d62..fdd0f85 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -28,6 +28,8 @@ import {HttpComponent} from './http/http.component';
import {HttpClient, HttpClientModule} from "@angular/common/http";
import {PipeComponent} from './pipe/pipe.component';
import {FilterPipePipe} from './pipe/filter-pipe.pipe';
+import { CommunicateBetweenComponentsComponent } from './communicate-between-components/communicate-between-components.component';
+import { BankLedgerComponent } from './communicate-between-components/bank-ledger/bank-ledger.component';
const appRoutes: Routes = [
{path: 'directive', component: AngularDirectivesComponent},
@@ -52,7 +54,8 @@ const appRoutes: Routes = [
]
},
{path: 'http', component: HttpComponent},
- {path: 'pipe', component: PipeComponent}
+ {path: 'pipe', component: PipeComponent},
+ {path: 'event', component: CommunicateBetweenComponentsComponent}
];
@@ -80,7 +83,9 @@ const appRoutes: Routes = [
Demo2Component,
HttpComponent,
PipeComponent,
- FilterPipePipe
+ FilterPipePipe,
+ CommunicateBetweenComponentsComponent,
+ BankLedgerComponent
],
imports: [
BrowserModule, FormsModule, RouterModule.forRoot(
diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.css b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html
new file mode 100644
index 0000000..49a185c
--- /dev/null
+++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.html
@@ -0,0 +1,11 @@
+
+
Fine Customer
+
+
+
+
+ {{leg}}
+
+
+
+
diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts
new file mode 100644
index 0000000..954b6c0
--- /dev/null
+++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { BankLedgerComponent } from './bank-ledger.component';
+
+describe('BankLedgerComponent', () => {
+ let component: BankLedgerComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ BankLedgerComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(BankLedgerComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should be created', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts
new file mode 100644
index 0000000..5a14917
--- /dev/null
+++ b/src/app/communicate-between-components/bank-ledger/bank-ledger.component.ts
@@ -0,0 +1,38 @@
+import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';
+
+@Component({
+ selector: 'app-bank-ledger',
+ templateUrl: './bank-ledger.component.html',
+ styleUrls: ['./bank-ledger.component.css']
+})
+export class BankLedgerComponent implements OnInit, OnChanges {
+
+ @Input()
+ deposit;
+
+ @Output()
+ private sms = new EventEmitter();
+
+ ledger = [];
+
+
+ constructor() {
+ }
+
+ ngOnChanges(changes: SimpleChanges): void {
+ if (changes.deposit && !changes.deposit.isFirstChange()) {
+ this.ledger.push('Deposit : ' + this.deposit);
+ this.sms.emit('Deposit Happened : ' + this.deposit);
+ }
+ }
+
+ ngOnInit() {
+ }
+
+ fineCustomer(value: any) {
+ this.ledger.push('Fine : ' + value);
+ this.sms.emit('Bank Charges applied for your account : ' + value);
+ }
+
+
+}
diff --git a/src/app/communicate-between-components/communicate-between-components.component.css b/src/app/communicate-between-components/communicate-between-components.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/communicate-between-components/communicate-between-components.component.html b/src/app/communicate-between-components/communicate-between-components.component.html
new file mode 100644
index 0000000..6b21c0b
--- /dev/null
+++ b/src/app/communicate-between-components/communicate-between-components.component.html
@@ -0,0 +1,18 @@
+
+
+
Welcome to banking System
+
+ Enter Your Deposit
+
+
+
+
+
+
+ SMS came :
+ {{sms}}
+
+
+
+
+
diff --git a/src/app/communicate-between-components/communicate-between-components.component.spec.ts b/src/app/communicate-between-components/communicate-between-components.component.spec.ts
new file mode 100644
index 0000000..552916c
--- /dev/null
+++ b/src/app/communicate-between-components/communicate-between-components.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { CommunicateBetweenComponentsComponent } from './communicate-between-components.component';
+
+describe('CommunicateBetweenComponentsComponent', () => {
+ let component: CommunicateBetweenComponentsComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ CommunicateBetweenComponentsComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(CommunicateBetweenComponentsComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should be created', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/communicate-between-components/communicate-between-components.component.ts b/src/app/communicate-between-components/communicate-between-components.component.ts
new file mode 100644
index 0000000..d97b140
--- /dev/null
+++ b/src/app/communicate-between-components/communicate-between-components.component.ts
@@ -0,0 +1,31 @@
+import {Component, OnInit} from '@angular/core';
+
+@Component({
+ selector: 'app-communicate-between-components',
+ templateUrl: './communicate-between-components.component.html',
+ styleUrls: ['./communicate-between-components.component.css']
+})
+export class CommunicateBetweenComponentsComponent implements OnInit {
+ value = 0;
+ latestDeposit: Number;
+ sms;
+
+ constructor() {
+ }
+
+ ngOnInit() {
+ }
+
+ deposit(value: any) {
+ this.latestDeposit = value;
+ }
+
+ getDeposit() {
+ return this.latestDeposit;
+ }
+
+ showSMS(event) {
+ this.sms = event;
+ }
+
+}