我在角度路由中遇到#符号问题。 我有导航链接,没有前导斜杠标志,就像那样:
<li class="active"><a href="/"><i class="fa fa-home" aria-hidden="true"></i></a></li>
<li><a href="#services"> УСЛУГИ</a></li>
否则,scrollspy无效(如果我正在使用<a href="#/services">
)
但现在这是以这种方式配置的Angular路由的问题:
config(["$routeProvider", function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: '/templates/home.html',
controller: 'smu72Controller'
})
.when('/objects', {
templateUrl: '/templates/objects.html',
controller: 'smu72Controller'
})
.when('/object/:Id', {
templateUrl: '/templates/object.html',
controller: 'smu72Controller'
})
.otherwise({
redirectTo: "/"
});
如何更改路由(或scrollspy)配置以便能够将这些导航链接用于两种用途 - scrollspy和angular routing?
答案 0 :(得分:1)
您可以使用#
模块
$locationProvider
符号
config(["$routeProvider", "$locationProvider", function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: '/templates/home.html',
controller: 'smu72Controller'
})
.when('/objects', {
templateUrl: '/templates/objects.html',
controller: 'smu72Controller'
})
.when('/object/:Id', {
templateUrl: '/templates/object.html',
controller: 'smu72Controller'
})
.otherwise({
redirectTo: "/"
});
// use the HTML5 History API
$locationProvider.html5Mode(true);
}]);