http:// localhost:4200 /#/ dashboard,网址Angular 5中的额外“#”

时间:2018-08-14 16:57:59

标签: angular routes

我在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>

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这是您看到哈希的原因

{provide: LocationStrategy, useClass: HashLocationStrategy}

在此处详细了解它:

HashLocationStrategy

您最可能希望这样做:

PathLocationStrategy

按照Description

  

如果您使用的是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。