J'ai 2 pages: /teams
et page modifier équipe /teamedit/:1
, voici les itinéraires:ngRoute continue de retomber à .otherwise la route après avoir utilisé bouton retour
app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
var viewBase = '/views/';
$routeProvider
.when('/teams', {
controller: 'teamsController',
templateUrl: viewBase + 'teams/teams.html',
controllerAs: 'vm'
})
.when('/teamedit/:id', {
controller: 'teamEditController',
templateUrl: viewBase + 'teams/teamEdit.html',
controllerAs: 'vm'
})
.otherwise({ redirectTo: '/agents' });
$locationProvider.html5Mode(true);
}]);
Voici les étapes qui me cause problème:
- Sur la page
/teams
, cliquez sur le bouton ce qui ouvre la page/teamedit/1
. Pour cela, j'utilise$location.path(url + team);
dans le contrôleur. /teamedit/1
est chargé et je clique sur navigateur bouton retour
maintenant de retour sur /teams
la page i cliquez sur le bouton à nouveau ce qui devrait me prendre à la page /teamedit/1
mais il ne fait charges Bage pour un second (code du contrôleur et tout est exécuté), puis redirige vers la page qui est définie dans .otherwise
.
Il n'y a pas de raison pour que cela devienne otherwise
, comment puis-je résoudre ce problème?
EDIT: Ajout de code. bouton qui ouvre/page teamedit:
<button class="btn btn-primary" ng-click="vm.edit('/teamedit/', team.teamId)"> <i class="glyphicon glyphicon-edit"></i> Edit</button>
teamsController:
(function() {
'use strict';
angular
.module('actionSyncAdminApp')
.controller('teamsController', teamsController);
teamsController.$inject = ['$scope', '$location', 'teamsService', 'broadcaster', 'ngProgressFactory'];
function teamsController($scope, $location, teamsService, broadcaster, ngProgressFactory) {
$scope.title = 'teamsController';
var vm = this;
vm.progressbar = ngProgressFactory.createInstance();
vm.progressbar.setParent(document.getElementById('sub-page'));
vm.teams = [];
vm.new = function (url) {
$location.path(url);
};
vm.edit = function (url, team) {
console.log(url + team);
$location.path(url + team);
};
activate();
function activate() {
vm.progressbar.start();
teamsService.getTeams().then(function (teams) {
vm.progressbar.complete();
vm.teams = teams;
});
}
}
})();
cela pourrait être causé par quelque chose dans votre contrôleur. S'il vous plaît nous montrer que le code –
'$ location.path (url + équipe)' S'il vous plaît assurez-vous que la variable 'url' doit avoir'/'à la fin de la chaîne sinon votre URL deviendra'/teamedit1' qui peut rediriger vers 'sinon ' –
@AJFunk, j'ai ajouté du code supplémentaire à la publication originale. @MaheshSinghChouhan, oui j'ai le '/' à la fin de l'URL. Vérifiez le code de la publication originale. – hs2d