Je veux changer de chemin sans rechargement, regardez http://joelsaupe.com/programming/angularjs-change-path-without-reloading/
dans core.js:
'use strict';
angular.module('App',['ngRoute'])
.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) {
var original = $location.path;
$location.path = function (path, reload) {
if (reload === false) {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
}
return original.apply($location, [path]);
};
}]);
Dans le contrôleur:
angular.module('App')
.controller('DetailController', ['$scope', '$location', function($scope) {
$scope.changeURL = function(){
console.log("IN changeURL");
$location.path('/sample/gfshdfdsf', false);
};
}]);
Si invoke changeURL, l'erreur suivante sera générée: ReferenceError: $location is not defined
Quelqu'un peut m'aider? Merci!
$ location n’est pas injecté dans la controller
, il suffit donc de changer
.controller('DetailController', ['$scope', '$location', function($scope)
à
.controller('DetailController', ['$scope', '$location', function($scope, $location)
Je recevais la même erreur et j'ai supprimé le $ rootScope des définitions. Après cela a fonctionné. Aucune idée pourquoi.
Ne fonctionne pas
app.factory("OrganizationService",
['$q', '$http', '$log', '$location', '$rootScope', '$timeout', 'LoadSubscriptionsService', 'LoadRolesService',
function($scope , $http, $log, $location, $cookies, $rootScope, $timeout) {
Travail
app.factory("OrganizationService",
['$q', '$http', '$log', '$location', '$timeout', 'LoadSubscriptionsService', 'LoadRolesService',
function($scope , $http, $log, $location, $cookies, $timeout) {