@mr_plutus

Как включить или выключить блок на странице?

День добрый.
Вопрос по второму ангуляру.

Есть главный компонент app.component
В нём шаблон:
<header class="header"></header>
<aside class="aside"></aside>
<router-outlet></router-outlet>


Как на других страницах скрыть aside или header если они там не требуются ?
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
@alch
Front-end, Angular2, typescript
В самом шаблоне пропишем ngIf
<header *ngIf="hasHeader" class="header"></header>
<aside *ngIf="hasAside" class="aside"></aside>
<router-outlet></router-outlet>


Слушаем изменения роутера в app.component
import {Router} from '@angular/router';
export class AppComponent {
	hasHeader: boolean = true
	hasAside: boolean = true

	constructor(
		private _router: Router
	) { }

	ngOnInit() {
		this._router.events
			.subscribe(params => {
				let path = params.url.split('/')[1]
				if (path == 'auth') {
					this.hasHeader = false
					this.hasAside = false
				} else {
					this.hasHeader = true
					this.hasAside = true
				}
			})
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы