0

我正在使用md-grid-tiles作爲站點上新頁面的鏈接。爲了給出一些上下文,我有一個AngularJS 1應用程序,它是一個使用ng-view的單頁應用程序。所以我的鏈接都用#page格式化。每瓦被賦予的屬性稱爲鏈路和我重視這個功能:

$scope.direct = function(tile) { 
    $window.location.href = tile.link; 
} 

在我的MD-格瓷磚的NG-點擊部分:

<md-grid-tile ng-repeat="tile in vm.tiles track by $index" 
           md-rowspan="{{tile.span.row}}" 
           md-colspan="{{tile.span.col}}" 
           md-colspan-sm="1" 
           md-colspan-xs="1" 
           ng-class="tile.background" 
           ng-click="direct(tile)"> 

和tile.link變量'#newpagetogoto'

這樣可以正常工作,但是使用此方法重新路由後,後退按鈕功能不存在。當我進入新頁面後再按回來,它只是重新加載新的視圖,並不會讓我回到主頁。有沒有辦法來解決這個問題?

如果我使用<a>鏈接到我的網站的新視圖後按鈕功能按預期工作,但只有當我使用$ window.location.href它是否破壞後退按鈕功能。使用<a>

例子:

<a href="#about" onclick="closeNav()">Our Purpose</a> 

任何及所有的幫助是非常讚賞,在此先感謝!

編輯: 使用<a>實際上並沒有保留後退按鈕的功能,當使用<a>鏈接進行路由時,它也會中斷。

回答

0

必須使用的,而不是$窗口

$location.path(title.link) 

$位置看看$位置文檔:https://docs.angularjs.org/guide/ $位置

+0

我一直在使用$ location.path(tile.link)嘗試,但它仍然沒有不回到最後一個視圖。使用$ location將強制返回上次加載的網址,因此,如果我要從Google轉到我的網站並點擊鏈接以顯示新視圖,那麼當我點擊後,它會將我帶回到谷歌而不是主要觀點有鏈接。感謝您的幫助,我最終添加了指向網格圖塊的鏈接,並使它們100%的寬度和高度允許它們點擊進入新視圖並返回到之前的視圖 –