angularjs - 一个href下拉样式清除路由

时间:2015-09-03 01:47:29

标签: html css angularjs

我不确定如何说出这个问题,但我会尽我所能......

我有一个AngularJS Spa页面,在主导航中我有一个href下拉样式链接。每当我点击下拉列表时,我的ng-view内的任何内容都会消失。我假设它是因为角度路线正在检测到#'#'在href中并不知道如何处理它。如何配置路由以忽略'#'并保留ng-view中加载的内容?

希望这是有道理的。

下拉

<a href="#" data-toggle="dropdown" class="dropdown-toggle">Orders <b class="caret"></b></a>

angularjs route

var configFunction = function ($routeProvider) {
    $routeProvider.when('/productList', {
        templateUrl: '/productList.html'
    })
    .when('/', {
        templateUrl: '/default.html'
    })
    .otherwise({ redirectTo: '/' });
};

1 个答案:

答案 0 :(得分:1)

您怀疑href中的#是在点击下拉列表中的锚点时尝试重新路由您的应用程序的内容。所有你需要做的就是防止锚的默认行为,即:

 <a href="#" ng-click="$event.preventDefault()" data-toggle="dropdown" class="dropdown-toggle">Orders <b class="caret"></b></a>

或者不是那么好的方法,但通常做的方法是使用javascript伪协议并在href上不调用任何东西,即

 <a href="javascript:void(0)" data-toggle="dropdown" class="dropdown-toggle"...