Я разрабатываю приложение в AngularJS. В принципе, у меня есть «домашняя страница» и «новый проект». На домашней странице у меня есть меню со ссылкой на «новый проект».Как перенаправить на другое представление при обновлении в AngularJS?
я настроил $ stateProvider следующим образом:
$stateProvider.state('home', {
url: '/',
templateUrl: 'partials/home.jsp'
}).state('newproject', {
url: '/newproject',
templateUrl: 'partials/new-project.html'
})
Так что, когда я войти в приложение, я нахожусь в домашней странице. Затем я нажимаю ссылку «новый проект», и я попадаю на страницу «новый проект». Теперь URL является http://myapp/newproject
Моя проблема в том, когда я обновить страницу, я хочу быть перенаправлены на главную страницу, даже если адрес в моем строке браузера по-прежнему http://myapp/newproject
Как может Я этого добился?
UPDATE:
Большое спасибо squiroid для ответа. Я использовал второе решение, и он работал как шарм. Немного разъяснений, на всякий случай, если кто-то должен иметь такую же проблему, прежде чем перенаправлять домой, вы должны предотвратить работу по умолчанию. Таким образом, правильный рабочий код:
$rootScope.$on("$locationChangeStart", function(event, next, current) {
if(next==current && next=='/newproject')
event.preventDefault();
$state.go('home');
});
Добро пожаловать, пожалуйста, отметьте его и upvote если вы удовлетворяете :-) и +1 для event.preventDefault() я забыл. – squiroid
отмечены! жаль, что я не могу повышать свою репутацию из-за точек репутации (я <15) – user1840039
Его хорошо приятно помочь вам. – squiroid