Я использую angularjs для своего приложения. Он содержит новостную ленту. Если пользователю нужно просмотреть определенную новость, он должен нажать на эту конкретную новость, и он будет перенаправлен на эту новость. И после просмотра конкретной новости, если пользователь хочет вернуться к ленте новостей (предыдущая страница), он должен нажать кнопку «Назад» в браузере. Итак, в этом случае, если пользователь нажимает кнопку «Назад» в браузере, страница новостной ленты снова перезагружается. Но, я не хочу, как это. Я хочу отключить перезагрузку и вывести пользователя на то место, где он был раньше. Я много просматривал эту проблему, но абсолютного решения не было. Пожалуйста, помогите мне.
Как изменить URL-адрес без перезагрузки страницы при нажатии кнопки «Назад» в angularjs?
Ответы (2)
Когда вы вернетесь, будет запущен предыдущий маршрут, и данные будут перезагружены. Если вы хотите предотвратить перезагрузку, поместите службу между ними и кэшируйте данные.
$routeProvider.
when('/loadFeeds',{
controller:'LoadFeedCtrl',
templateUrl:'pages/feeds.html',
resolve:{
initData : function(FeedService){
return $q.all(
{
data: FeedService.load()
}
);
}
}
})
И в вашем FeedService вместо того, чтобы делать http-вызов, попробуйте увидеть, что данные уже доступны
.service('FeedService',function($q,$timeoute){
this.feeds=[];
this.load = function(){
var deferred = $q.defer();
$timeout(function(){
if(feeds.length===0){
this.feeds.push({title:'First','id':1})
this.feeds.push({title:'Second','id':2})
this.feeds.push({title:'Third','id':3})
this.feeds.push({title:'Fourth','id':4})
}
deferred.resolve(this.feeds);
},2000);
return deferred.promise;
};
})
Службу тайм-аута можно заменить на $http или $resource. Я использовал тайм-аут для имитации задержки
person
Bibin
schedule
12.06.2015
вы можете взять якорную ссылку и при щелчке по якорю вызвать эту функцию javascript
window.window.history.back();
вот html код для него
<input type="button" id="alnkBack" onclick="window.window.history.back();" value="Back" class="button" />
person
Sachin Verma
schedule
12.06.2015
$routeProvider
? - person Rahil Wazir   schedule 12.06.2015