2015-12-11 129 views
3

我在多个视图之间使用角度路由,并尝试在每个路径更改上填充通用面包屑列表。这可以正常工作,但是面包屑中的超链接不起作用。锚点href与角度路线链接

基本上我有以下几点看法网站:

的意见/ main.html中

的意见/ page_a.html

的意见/ page_b.html

和结构:

main> page a> page 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: '/' 
    }); 
}); 
+0

你的路线如何设置?视图不是路由 – Jorg

+0

#/ main是配置路由时不存在的路由。请将您的链接更改为“#/”或将您的路线更改为“#/ main” –

回答

6

OK,一个非常愚蠢的错误,我也不会需要在所有张贴这个问题.. 事实上href="#/page_a"。它工作得很好,所以这和预期一样简单。

+0

好的答案,它节省了我的时间,考虑接受您的答案。 +1 – HDJEMAI