Angular Routes and Forms HandsOn
Angular Routes and Forms HandsOn
Angular Routes and Forms HandsOn
Hands-On Solutions:
Http in Angular
1. contact.service.ts
// @Injectable({
// providedIn: 'root'
// })
url = 'http://www.mocky.io/v2/5c5d880f3200000e11220880';
constructor(
){}
getContacts(): Observable<Contacts> {
// make http request to the given url and fetch the contacts
return this.http.get<Contacts>(this.url);
2. contact-list.component.ts
@Component({
selector: 'app-contact-list',
templateUrl: './contact-list.component.html',
styleUrls: ['./contact-list.component.css']
})
contacts: any;
){}
ngOnInit() {
})
3. app.module.ts
@NgModule({
declarations: [
AppComponent,
ContactListComponent
],
imports: [
BrowserModule,
HttpClientModule
],
providers: [ContactService],
bootstrap: [AppComponent]
})
Routing Angular
1. app.component.html
<p class="menus">
</p>
</div>
<router-outlet></router-outlet>
2. app-routing.module.ts
{path:'contacts',component:ContactsComponent},
{path:'cities',component:CityComponent}
];
@NgModule({
imports: [RouterModule.forRoot([])],
exports: [RouterModule]
})
3. contact.service.ts
// @Injectable({
// providedIn: 'root'
// })
url = `http://www.mocky.io/v2/5c5d880f3200000e11220880`;
){}
getContacts(): Observable<Contacts> {
return this.http.get<Contacts>(this.url);
//return of(this.contacts);
4.city.component.ts
selector: 'app-city',
templateUrl: './city.component.html',
styleUrls: ['./city.component.css']
})
){}
ngOnInit() {
})
contactsList: Contact[];
}
id: number;
name: string;
city: string;
5. contacts.component.ts
@Component({
selector: 'app-contacts',
templateUrl: './contacts.component.html',
styleUrls: ['./contacts.component.css']
})
export class ContactsComponent implements OnInit {
contacts: Contact[];
constructor( private contactService : ContactService
){}
ngOnInit() {
})
}
Dependency Injection in Angular
1. contact.service.ts
contacts = {
'contactsList': [
};
constructor(
){}
getContacts(): Observable<Contacts> {
return of(this.contacts);
2.contact-list.component.ts
@Component({
selector: 'app-contact-list',
templateUrl: './contact-list.component.html',
styleUrls: ['./contact-list.component.css']
})
contacts : any ;
constructor(
){}
ngOnInit() {
});
}
Angular Reactive Forms
1. app.component.ts
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
* - address: group
* - street: control
* - city: control
*/
Validators.required]),
Validators.required,
Validators.pattern("^[0-9]*$"),
Validators.minLength(10),
Validators.maxLength(10)]),
Validators.minLength(6),
Validators.maxLength(6),
Validators.pattern('^[0-6]*$')])
})
});
onSubmit() {