与 angular 路由链接的锚点 href
anchor href linking with angular routes
我在多个视图之间使用 angular 路由,并尝试在每次路由更改时填充一个公共面包屑列表。这工作正常,除了面包屑中的超链接不起作用。
基本上我有一个具有以下视图的站点:
views/main.html
views/page_a.html
views/page_b.html
和结构:
主页面>页面a>页面b
$rootScope.$on('$routeChangeSuccess', function(scope, next, current) {
var thisView = next.loadedTemplateUrl;
if (!thisView) return;
var breadcrumb = jQuery('#breadCrumb'); //<ol> container
breadcrumb.empty();
if (thisView.indexOf('page_a') >= 0) {
breadcrumb.append('<li><a href="#/main">main</a></li>');
breadcrumb.append('<li class="active">page a</li>');
}
else if (thisView.indexOf('page_b') > 0) {
breadcrumb.append('<li><a href="#/main">main</a></li>');
breadcrumb.append('<li><a href="#/page_a">page a</a></li>');
breadcrumb.append('<li class="active">page b</li>');
}
});
不幸的是,这些超链接没有转到正确的位置。我想我已经尝试了所有组合,例如#/page_a, #/page_a.html, /views/page_a.html, ... 但没有运气。感觉这应该不难,但已经晚了,所以我希望得到一些帮助。
谢谢!
编辑
我的路线设置如下:
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/page_a', {
templateUrl: 'views/page_a.html'
})
.when('/page_b', {
templateUrl: 'views/page_b.html'
})
.otherwise({
redirectTo: '/'
});
});
好吧,这是一个非常愚蠢的错误,我根本不需要 post 这个问题..
确实href="#/page_a"
。它工作得很好,所以这和预期的一样简单。
我在多个视图之间使用 angular 路由,并尝试在每次路由更改时填充一个公共面包屑列表。这工作正常,除了面包屑中的超链接不起作用。
基本上我有一个具有以下视图的站点:
views/main.html
views/page_a.html
views/page_b.html
和结构:
主页面>页面a>页面b
$rootScope.$on('$routeChangeSuccess', function(scope, next, current) {
var thisView = next.loadedTemplateUrl;
if (!thisView) return;
var breadcrumb = jQuery('#breadCrumb'); //<ol> container
breadcrumb.empty();
if (thisView.indexOf('page_a') >= 0) {
breadcrumb.append('<li><a href="#/main">main</a></li>');
breadcrumb.append('<li class="active">page a</li>');
}
else if (thisView.indexOf('page_b') > 0) {
breadcrumb.append('<li><a href="#/main">main</a></li>');
breadcrumb.append('<li><a href="#/page_a">page a</a></li>');
breadcrumb.append('<li class="active">page b</li>');
}
});
不幸的是,这些超链接没有转到正确的位置。我想我已经尝试了所有组合,例如#/page_a, #/page_a.html, /views/page_a.html, ... 但没有运气。感觉这应该不难,但已经晚了,所以我希望得到一些帮助。 谢谢!
编辑
我的路线设置如下:
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/page_a', {
templateUrl: 'views/page_a.html'
})
.when('/page_b', {
templateUrl: 'views/page_b.html'
})
.otherwise({
redirectTo: '/'
});
});
好吧,这是一个非常愚蠢的错误,我根本不需要 post 这个问题..
确实href="#/page_a"
。它工作得很好,所以这和预期的一样简单。