我不确定如何说出这个问题,但我会尽我所能......
我有一个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: '/' });
};
答案 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"...