Я хочу, чтобы AngularJS менял путь без перезагрузки, мой пользовательский случай должен изменить URL-адрес, содержащий некоторый идентификатор, чтобы пользователь мог разделить/отправить этот URL друзьям. Я посмотрел AngularJS UI Router - change url without reloading stateAngularJS: как вызвать функцию в сервисе?
в core.js:
'use strict';
angular.module('App', ['ngRoute'])
.service('$locationEx', ['$location', '$route', '$rootScope',
function($location, $route, $rootScope) {
$location.skipReload = function() {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function() {
$route.current = lastRoute;
un();
});
return $location;
};
return $location;
}
]);
В контроллере:
angular.module('App')
.controller('DetailController', ['$scope', '$locationEx',
function($scope, $locationEx) {
$scope.changeURL = function() {
console.log("IN changeURL");
$locationEx.skipReload().path("sdfasdfasdfsadf").replace();
};
Если вызвать changeURL, это будет происходить ошибка: TypeError: $locationEx.skipReload is not a function
Может кто-нибудь мне помочь? Благодаря!
Что такое прецедент? Может быть, все, что вам нужно, это состояние модели данных, хранящееся в службе, и просто увеличивать объем с ним. – charlietfl
привет, я хочу вызвать $ locationEx.skipReload(). Path ("sdfasdfasdfsadf"). Replace(); для изменения URL-адреса без перезагрузки страницы, я нашел решение в [link] (http://stackoverflow.com/questions/23585065/angularjs-ui-router-change-url-without-reloading-state), но возникает ошибка , – UNSTABLE
это не объясняет использование кейс .. это хорошо может быть проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – charlietfl