Angular의 동적 탭 제목
1. 경로의 제목 속성
사용 사례:
그런 다음 아래와 같이 Routes에서 제목 속성을 사용하십시오.
암호
export const APP_ROUTES: Routes = [
{path: '/users', component: UsersComponent, title: 'Users'},
{path: '/orders', component: OrdersComponent, title: 'Orders'}
];
2. Resolve가 포함된 제목
사용 사례:
그런 다음 아래와 같이 Router 모듈에서
Resolve
클래스를 구현하는 서비스를 만들어야 합니다.암호:
@Injectable({
providedIn: "root"
})
export class CustomTitleResolver implements Resolve<string> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<string> | Promise<string> | string {
// Have fun with naming
return "<<project-name>> -" + route.paramMap.get("id") || "";
}
}
제목 속성으로 경로 업데이트
export const APP_ROUTES: Routes = [
{path: '/users/:id', component: UsersComponent, title: CustomTitleResolver },
{path: '/orders/:id', component: OrdersComponent, title: CustomTitleResolver }
];
3. 타이틀 전략
사용 사례:
보다 일반화된 패턴을 원하면 애플리케이션 전체에 적용됩니다.
그런 다음 확장되는 서비스
TitleStrategy
를 생성하고 AppModule에서 공급자로 추가합니다.암호
@Injectable({
providedIn: "root"
})
export class CustomTitleStrategy extends TitleStrategy {
constructor(private readonly title: Title) {
super();
}
override updateTitle(routerState: RouterStateSnapshot): void {
const title = this.buildTitle(routerState);
if (title !== undefined) {
this.title.setTitle(`myImpact (${title})`);
} else {
this.title.setTitle('myImpact');
}
}
}
Naming Strategy는 앱 모듈에 제공자로 추가되어야 합니다. 그래야 angular가 대체 Naming 전략을 제공했음을 알 수 있습니다.
@NgModule({
declarations: [
],
imports: [
],
providers: [{
provide: TitleStrategy,
useClass: IAMTitleStrategy
}],
bootstrap: [AppComponent]
})
export class AppModule {
}
메모
사용 사례에 따라 이러한 방법 중 하나를 사용할 수 있으며 나처럼 Resolve 및 명명 전략을 혼합할 수도 있습니다.
행복한 코딩 👨💻 !!
Reference
이 문제에 관하여(Angular의 동적 탭 제목), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/entangledcognition/dynamic-tab-title-in-angular-26jg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)