Angular

时间:2015-11-16 15:03:57

标签: angularjs

我有一个菜单栏,有两个选项 - 存储和订单,使用下面的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视图。

1 个答案:

答案 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();
      }
}