我有一个菜单栏,有两个选项 - 存储和订单,使用下面的Anchor标签实现。
<a href="#/store/">Store</a>
<a href="#/order/">Order</a>
我正在使用正常的Angular Route提供程序,它工作正常。
但是,如果我在Store上,再次单击它,则视图不会刷新。
不知何故,我能够在Stackoverflow上解决这个问题,建议在每次点击时执行路由重新加载。
<a href="#/store/" ng-click="reload()">Store</a>
<a href="#/order/" ng-click="reload()">Order</a>
$scope.reload = function() {
$route.reload;
}
这可以完成这项任务,但现在的问题是,如果我在Store上并单击Order,则首先刷新当前的Store视图,然后呈现Order View。
我如何达到以下要求:
1)。当用户在Store上并再次单击Store时,Store View将刷新。
2)。然而。当用户在Store上并单击Order时,Store视图不应重新加载,而是直接呈现Order视图。
答案 0 :(得分:0)
我认为您可以使用$location
服务来比较它是相同的路线还是不同的
<a href="#/store/" ng-click="reload('/store/')">Store</a>
<a href="#/order/" ng-click="reload('/order/')">Order</a>
$scope.reload = function(url) {
if ($location.path().search(url) !== -1) {
// it is same route
$route.reload();
}
}