У меня есть приложение, которое имеет страницу входа и страницу регистрации, поэтому, когда я нажимаю кнопку на обеих страницах, она должна переключаться с одной на другую.Это работает!но когда я добавил код, чтобы скрыть постоянное меню, упомянутая выше кнопка перестала работать.
Этот код состоит из обещания.
Я обнаружил, что когда эта часть кода комментируется, приложение работает нормально, поэтому, возможно, проблема заключается в использовании обещаний в этой части приложения.
При входе в систему html
<div class="col-lg-4 col-md-4 col-sm-5 col-xs-5 paddingsLog">
<a routerLink="/registro" routerLinkActive="active">
<button type="button" class="btnGeneral btnWhite">Regístrate</button>
</a>
</div>
То же самое для регистра
В модуле app.module
export class AppComponent {
constructor(
private router: Router,
private activatedRoute: ActivatedRoute,
private location: Location
) {
this.menuAndTitle();
}
public menuAndTitle() {
let getUrl = new Promise((resolve, reject) => {
this.router.events.pipe(
filter(event => event instanceof NavigationEnd)
).subscribe(() => {
console.log("Nav ends" + this.activatedRoute);
let url = this.location.path();
resolve(url);
console.log("URL subscribe: " + url);
});
});
getUrl.then((url: string) => {
const urlActual = url;
console.log('Url actual: ' + typeof(urlActual) + ' | ' + urlActual);
if (urlActual.includes('registro')) {
this.canShowTemplate = false;
} else if (urlActual.includes('login')) {
this.canShowTemplate = false;
}
}
}
}
Я вижу, что обещание влияет наповедение директивы routerLink, возможно ли это?