锚href链接有角度的路线

anchor href linking with angular routes

本文关键字:href 链接      更新时间:2023-09-26

我在多个视图之间使用角度路由,并尝试在每次路由更改时填充一个通用的面包屑列表。除了面包屑中的超链接不起作用之外,这一切都很好。

本质上,我有一个网站与以下观点:

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: '/'
  });
});

好吧,这是一个非常愚蠢的错误,我根本不需要发布这个问题。。确实是href="#/page_a"。它工作得很好,所以这和预期的一样容易。