Angular 5 - 我应该使用哪个向后导航 - href 或 location.back()?

Angular 5 - Which should I use to navigate backward - href or location.back()?

我有一个应用程序可以导航到无法前进的页面。想想在电视指南中单击一个节目以打开包含该节目详细信息的页面,显然你会想要返回到电视指南。

对于返回电视指南的按钮,我有一个 <a> 标签。

哪个是最可取的用例:

  1. 使用href="/guide"

  1. 在函数调用 location.back() 的地方使用 (click)=goBack()

您应该使用 Angular 的内置位置服务作为。

Angular-Location

import {Component} from '@angular/core';
import {Location} from '@angular/common';


@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.scss']
})

class AppComponent {
    constructor(private location: Location) {
    }
    back() {
        this.location.back();
    }
}

如果您想在 Angular 应用程序中导航,您不想使用经典 href 链接,因为它们设计用于服务器呈现的应用程序,而不是客户端使用 History Javascript API.

的应用

更喜欢使用 Angular 中的 RouterLink

RouterLinklocation.back() 之间选择是你的,这取决于你是想控制你想重定向到的页面,还是只想要与浏览器的后退按钮相同的行为.