Я заметил, что location.back () перезагружает все приложение в моем туре по приложению Heroes на StackBlitz.com.
Почему это происходит?
https://stackblitz.com/angular/qvvrbgrmmda?file=src%2Fapp%2Fhero-detail%2Fhero-detail.component.ts
Он работает как надо. Что вы от него ожидаете, конкретнее?





Добавлять
import {CommonModule, HashLocationStrategy, LocationStrategy} from '@angular/common';
а также
providers: [
{
provide: LocationStrategy,
useClass: HashLocationStrategy
}
],
а также
imports: [
CommonModule,
// ...
в вашем app.module.ts
Теперь в вашем URL-адресе есть #, который не позволяет приложению загружать новый экземпляр всего приложения каждый раз, когда вы перемещаетесь в приложении. Прежде чем вы спросите, единственный способ избавиться от # - это рендеринг на стороне сервера, например, с помощью Angular Universal. Вам также потребуется использовать localstorage или бэкэнд-вызов для сохранения состояния приложения, что не является хорошей практикой. Так что просто используйте #. Для получения дополнительной информации см. https://stackoverflow.com/a/37031886/4125622.
Спасибо @Phil, все еще не работает. Когда нажата кнопка «вернуться», страница не переходит на предыдущую страницу. Это официальное приложение от Angular.
Кажется, работает нормально, когда я открываю приложение в полном окне. При запуске вместе с исходным кодом слева location.back() не работает, и приложение не переходит на предыдущую страницу.
У меня это сработало, когда я внес изменения. Как воспроизвести ошибку?
Попробуйте запустить приложение с открытым выводом справа. Когда я запускаю приложение в полноэкранном режиме, все работает нормально, но не тогда, когда окно вывода открыто с правой стороны. Спасибо
Это вызвано функцией предварительного просмотра разделенной панели, предоставляемой StackBlitz; это не проблема с учебником Angular. Если вы используете предварительный просмотр в полноэкранном режиме, этого не произойдет. Поэтому нажмите «Открыть в новом окне», чтобы избежать проблемы.
Вы можете объяснить, что означает не работает хорошо?