2015-11-16 36 views
0

我有一個菜單欄,有兩個選項 - Store和Order,使用下面的Anchor標籤實現。Angular中的菜單欄刷新問題

<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; 
} 

這做工作,但現在的問題是,如果我在商店和點擊訂購,目前店內視圖被刷新,然後再訂單視圖呈現。如何達到以下要求:

1)。當用戶在Store上並再次單擊Store時,Store View會刷新。 2)。然而。當用戶在Store上並單擊Order時,Store視圖不應該重新加載,而是直接呈現Order視圖。

回答

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(); 
     } 
} 
+1

是。它確實解決了這個問題。非常感謝你 !!! – kensplanet