是否可以使用完全链接的routerLink?

时间:2017-11-01 20:20:24

标签: angular angular-routing

当我使用[routerLink]时,它只会在页面代码中的#之后生成链接。

href = "#/category/page"

是否可以完全生成链接?

href = "http://example.com/#/category/page"

我在链接不完整的情况下生成站点地图时遇到了问题。

2 个答案:

答案 0 :(得分:1)

No, it appears not.

Router处理应用程序路径,而非URL,并且在#之前对路径部分一无所知。

如果您想在任何组件(例如,您的主AppComponent)中测试它,请将其添加到构造函数

constructor(private _router: Router) {}

然后

ngOnInit() {
  console.dir(this._router);
}

您将看到Router不包含对应用程序根路由上方的任何内容的引用,它认为/

编辑:您可能希望查看PathLocationStrategy,但实施并非易事。

答案 1 :(得分:-2)

你不需要包括#,cut意味着什么。之前的路径会自动添加到您当前的链接中。

无论是 href 还是 routerLink 是否带括号,它都不会改变。

这完全取决于您拥有链接的文件。如果要引用当前目录中存在文件的文件。您需要以嵌套顺序提供路径,如目录名称和文件名,或者如果您有更多嵌套目录,则需要相应地提供路径。

我指的是一个级别到当前文件目录的文件,你可以为一个目录添加../或者为两个添加../ ..等等。