Files
lnx-arch/dots/vscodium/sdras.night-owl-2.0.1-universal/demo/tsx.tsx

45 lines
1006 B
TypeScript
Raw Normal View History

2024-05-15 07:15:59 -05:00
import { Component, OnInit, OnDestroy } from '@angular/core'
import { Person, SearchService } from '../shared'
import { ActivatedRoute } from '@angular/router'
import { Subscription } from 'rxjs'
@Component({
selector: 'app-search',
templateUrl: './search.component.html',
styleUrls: ['./search.component.css']
})
export class SearchComponent implements OnInit, OnDestroy {
query: string
searchResults: Array<Person>
sub: Subscription
constructor(
private searchService: SearchService,
private route: ActivatedRoute
) {}
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
if (params['term']) {
this.query = decodeURIComponent(params['term'])
this.search()
}
})
}
search(): void {
this.searchService.search(this.query).subscribe(
(data: any) => {
this.searchResults = data
},
error => console.log(error)
)
}
ngOnDestroy() {
if (this.sub) {
this.sub.unsubscribe()
}
}
}