J'utilise les dalles md-grid comme liens vers de nouvelles pages sur un site. Pour donner un peu de contexte, j'ai une application AngularJS 1 qui est une application d'une seule page utilisant ng-view. Donc, mes liens sont tous formatés aveC#page. Chaque tuile est donné un attribut appelé lien et j'ai joint cette fonction:
$scope.direct = function(tile) {
$window.location.href = tile.link;
}
à la partie ng-cliquez sur mon md-grille tuiles:
<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)">
et la variable tile.link sera être '#newpagetogoto'
Cela fonctionne comme prévu, mais la fonctionnalité du bouton de retour n'est pas là après que je réachemine en utilisant cette méthode. Lorsque je repasse en arrière après avoir accédé à la nouvelle page, il recharge simplement cette nouvelle vue et ne me remet pas sur la page d'accueil. Y'a t'il un moyen d'arranger cela?
Si j'utilise <a>
pour créer un lien vers de nouvelles vues de mon site, la fonctionnalité du bouton de retour fonctionne comme prévu, mais seulement lorsque j'utilise $ window.location.href cela gâche la fonctionnalité du bouton de retour.
Exemple d'utilisation <a>
:
<a href="#about" onclick="closeNav()">Our Purpose</a>
Toute aide est très apprécié, merci d'avance!
EDIT: En utilisant <a>
ne tient pas vraiment la fonctionnalité du bouton de retour, il rompt également le routage en utilisant le lien <a>
.
J'ai essayé d'utiliser location.path de $ (de tile.link), mais il fait encore pas revenir à la dernière vue. L'utilisation de $ location forcera à revenir à la dernière URL chargée, donc si je devais aller de google à mon site et cliquer sur un lien pour montrer une nouvelle vue, quand je clique dessus, cela me ramènera à google et non à vue principale qui a les liens. Merci pour l'aide, j'ai fini par ajouter des liens aux carreaux de grille et les faire 100% largeur et hauteur qui leur permet de cliquer sur la nouvelle vue et aussi revenir à la vue précédente –