且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Angular 如何根据路由更改导航菜单标题

更新时间:2022-12-03 11:38:11

另一个选项可能是路由保护/路由解析器.您可以为每条路由添加一个守卫/解析器,并让它读取您的数据属性.

Another option may be a route guard/route resolver. You could add a guard/resolver to each route and have it read your data property.

这是一个示例解析器:

import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';

import { Observable } from 'rxjs/Observable';

import { IMovie } from './movie';
import { MovieService } from './movie.service';

@Injectable()
export class MovieResolver implements Resolve<IMovie> {

    constructor(private movieService: MovieService,
                private navigationService: NavigationService) { }

    resolve(route: ActivatedRouteSnapshot,
            state: RouterStateSnapshot): boolean {
        const title = route.data['title'];
        this.navigationService.changeTitle(title);
        return true;
    }
}

类似上面的东西.