У меня проблемы с перезагрузкой функций childComponent.У меня есть компонент, который делает запрос к базе данных в зависимости от полученного параметра.Когда я получаю доступ к этому маршруту в первый раз, он хорошо выполняет функцию OnInit, но если я изменяю параметр :page
, он ничего не делает.
Вот компонент:
//temas.children.component.ts
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
@Component({
selector: 'app-temas-children',
templateUrl: './temas-children.component.html',
styleUrls: ['./temas-children.component.css']
})
export class TemasChildrenComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
ngOnInit() {
console.log(this.route.snapshot.data.temas);
}
}
Маршруты:
//app.routes.ts
//imports and some other routes
{ path: 'temas/:categoria', component: TemasComponent, children:[
{path: ':page', component: TemasChildrenComponent, runGuardsAndResolvers: "always", resolve:{temas: TemasResolverService}}
]},
Служба резольвера:
//temas.resolver.service.ts
import { Injectable } from '@angular/core';
import { CrudService } from './crud.service';
import { Resolve } from '@angular/router';
import { ActivatedRouteSnapshot } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class TemasResolverService implements Resolve<any>{
constructor(private crudService: CrudService) { }
resolve(route:ActivatedRouteSnapshot){
return this.crudService.getTemas(route.parent.pathFromRoot[1].params.categoria, route.paramMap.get('page'));
}
}