J'ai une application web JavaScript où j'ai utilisé AngularJS pour faciliter les choses, mais maintenant j'ai rencontré un petit problème.AngularJS change de vue en ng-view depuis un contrôleur
Je souhaite modifier la vue d'un contrôleur ng. J'utilise $ location.path pour le faire, mais malheureusement, rien ne se passe. Si je vérifie l'objet $ location, le chemin sera changé correctement, mais la vue ne change pas.
J'ai un ng-view dans mon Home.html. Voici la config je l'ai écrit pour lui:
<html ng-app="app">
...
<body>
<div id="navigation-menu" ng-controller="NavigatorController">
<a class="menulink" ng-class="{ active: isActive('/labels')}" href="#page2">Page2</a>
<a class="menulink" ng-class="{ active: isActive('/labels')}" href="#page3">Page3</a>
</div>
<div ng-view></div>
</body>
</html>
C'est la config que j'ai fait pour la routeProvider $ qui fonctionne parfaitement lorsqu'il est utilisé dans le MENUSYSTEM
myApp.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'Page1.html',
controller: 'Page1Controller'
})
.when('/page2', {
templateUrl: 'Page2.html',
controller: 'Page2Controller'
})
.when('/page3', {
templateUrl: 'Page3.html',
controller: 'Page3Controller'
});
});
En ouvrant l'application, je veux montrer la Page1.html dans le ng-view, donc cela est trié avec le '/' url, je suppose.
Le problème est, que de tous les autres contrôleurs, je veux être en mesure de revenir à la Page1.html.
J'ai essayé de faire un événement dans tous les autres contrôleurs, comme ceci:
$scope.NavigateBack = function() {
$location.path('/');
}
Il ne fonctionne pas, malheureusement. Je ne reçois aucun message d'erreur cependant ... Je l'ai essayé avec des adresses différentes dans le chemin, comme "/ page2", mais rien n'a fonctionné. Qu'est-ce que je fais de mal, que la vue ne change pas et que la page ne navigue pas?
devrait fonctionner correctement. Doit comment vous appelez 'NavigateBack' dans la vue. Avez-vous oublié d'utiliser '()' ou d'avoir une faute de frappe pour l'épeler? – charlietfl