我在Angular 5项目中遇到了这个问题。所有使用localhost的URL或什至在托管时在域名后都跟随一个“#”。找不到原因。
app-routing.module.ts 有其他组件的子路线
[ ]
app.module.ts
<div id="leftRightSplitter">
<div id="leftPane">
<div id="topBottomSplitter">
<div id="topPane">
Left-Top
</div>
<div id="bottomPane">
Left-Bottom
</div>
</div>
</div>
<div id="rightPane">
Right
</div>
</div>
<script>
$(document).ready(function() {
$("#leftRightSplitter").kendoSplitter({
orientation: "horizontal",
panes: [
{ collapsible: false, size: "75%" },
{ collapsible: false }
]
});
$("#topBottomSplitter").kendoSplitter({
orientation: "vertical"
});
});
</script>
非常感谢您的帮助。
答案 0 :(得分:2)
这是您看到哈希的原因
{provide: LocationStrategy, useClass: HashLocationStrategy}
在此处详细了解它:
您最可能希望这样做:
如果您使用的是PathLocationStrategy,则必须提供一个APP_BASE_HREF 或在文档中添加基本元素。该URL前缀将是 在生成和识别URL时保留。
例如,如果您提供“ / my / app”的APP_BASE_HREF并调用 location.go('/ foo'),浏览器的网址将变为 example.com/my/app/foo。
类似地,如果您添加到文档并调用 location.go('/ foo'),浏览器的网址将变为 example.com/my/app/foo。