版本更新时,angularjs出现路由问题

时间:2019-09-03 09:23:31

标签: angularjs angular-ui-router url-routing angularjs-routing

场景:我已经将当前的angularjs版本从 AngularJS v1.5.5 更新到了 AngularJS v1.5.7 。应用程序运行正常,但是URL路由存在问题,它的行为有所不同。让我们在下面看到验收标准。

尝试1

原始网址如下,这也是预期的结果。

https://u-unalytix.milestoneinternet.com/Unalytix.Web.UAT/dashboard/marketing-channels

在更新版本之后,我在下面的注释行中遇到了错误。

$locationProvider.html5Mode(true);  
// $urlrouterprovider.rule(function ($injector, $location) {
       // var path = $location.path();
       // if (path != '/' && path.slice(-1) === '/') {
          // $location.replace().path(path.slice(0, -1));
       // }
// });

结果

https://u-unalytix.milestoneinternet.com/U/dashboard/marketing-channels

由于某些原因,您在这里可以看到我们没有得到预期的结果。然后,我尝试在 module.config 中使用另一段代码。谷歌搜索后,我得到了一些解决此问题的答案,我尝试按照以下步骤进行操作,但仍未获得预期的结果。

尝试2

我尝试使用这段代码仍然无法获得预期的结果。

$locationProvider.html5Mode({
    enabled: false,
    requireBase: true
});

结果

这次获得URL中的 /#

https://u-unalytix.milestoneinternet.com/Unalytix.Web.UAT/#/dashboard/marketing-channels

不知道这个问题。如果有人对这个问题有想法,请与我分享。

1 个答案:

答案 0 :(得分:0)

要实现此目的,您需要进行两项更改。

  1. 将此添加到您的配置中。
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('');
  1. 在index.html head标签中添加应用程序的基础
<head>
...

  <base href='/' />

...
</head>