我的应用程序中的所有内容都正常工作,直到我尝试添加ngAnimate,ngMaterial和ng-image-gallery。 我不知道添加这些模块是否是问题的根源,但在问题发生之前我没有改变任何其他内容。
从那时起(即使我从app.js和index.html中删除了依赖项后),所有网址都会转换为编码字符......
在它看起来像之前:
http://.../app/index.html#/workshops
不是它转换为:
http://.../app/index.html#!/#%2Fworkshops
当然没有找到任何东西。导航无效,没有任何反应。
为什么现在编码的URL到底了?!即使只是运行index.html,网络服务器也会给我以下网址:
http://.../app/index.html#!/
有没有人有同样的问题?为什么会那样?更重要的是:我该如何解决这个问题?!非常感谢提前。
我的路线配置:
'use strict';
angular.module('myApp').config(['$locationProvider', '$routeProvider',
function($locationProvider, $routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'modules/start/views/start.html',
controller: 'StartController'
})
.when('/galerie', {
templateUrl : 'modules/galerie/views/galerie.html',
controller: 'GalerieController'
})
.when('/kontakt', {
templateUrl : 'modules/kontakt/views/kontakt.html',
controller: 'KontaktController'
})
.when('/workshops', {
templateUrl : 'modules/workshops/views/workshops.html',
controller: 'WorkshopsController'
})
;
}]);
在这里我如何在导航中切换路线:
<div class="navbar navbar-top hidden-xs">
<ul class="nav navbar-nav">
<li>
<a href='#/'>Start</a>
</li>
<li>
<a href='#/workshops'>Workshops</a>
</li>
<li>
<a href='#/galerie'>Galerie</a>
</li>
<li>
<a href='#/kontakt'>Kontakt & Buchung</a>
</li>
</ul>
</div>
这是脚本的包含方式:
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="https://use.fontawesome.com/936815fb51.js"></script>
<script src="app.js"></script>
<script src="modules/config/routes.js"></script>
<script src="modules/start/start.js"></script>
<script src="modules/start/controllers/StartController.js"></script>
...
加成 控制台什么也没说。没有问题,没有错误。
答案 0 :(得分:2)
Gosh,我刚刚找到答案......间接地,它与添加依赖项有关,因为我将使用的角度版本从1.58更改为1.61 - 我只是读到哈希前缀更改为&#39;!& #39;
回答问题的链接在这里: Angular Route - Extra # in URL
路由配置中的下一行使路由器像以前一样工作:
$locationProvider.hashPrefix('');
感谢Arjan Einbu在链接中回答了这个问题。这节省了我的一天。