<a ng-href="#" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>
페이지를 새로 고침하고 싶습니다. 어떻게해야합니까?
답변
서비스 reload
방법을 사용할 수 있습니다 $route
. $route
컨트롤러에 주입 한 다음에 메소드를 작성 reloadRoute
하십시오 $scope
.
$scope.reloadRoute = function() {
$route.reload();
}
그런 다음 다음과 같이 링크에서 사용할 수 있습니다.
<a ng-click="reloadRoute()" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>
이 방법을 사용하면 현재 경로가 다시로드됩니다. 그러나 전체 새로 고침을 수행하려는 경우 다음을 주입 $window
하여 사용할 수 있습니다.
$scope.reloadRoute = function() {
$window.location.reload();
}
나중에 편집 (ui-router) :
답변에서 JamesEddyEdwards와 Dunc이 언급했듯이 angular-ui / ui-router 를 사용하는 경우 다음 방법을 사용하여 현재 상태 / 경로를 다시로드 할 수 있습니다. $state
대신에 주사 $route
하면 다음이 있습니다.
$scope.reloadRoute = function() {
$state.reload();
};
답변
window
더 쉬운 테스트와 조롱을$window
위해 서비스를 통해 객체를 사용할 수 있습니다.
$scope.reloadPage = function(){$window.location.reload();}
그리고 :
<a ng-click="reloadPage" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>
참고로, $ route.reload () 실제로 실제로 페이지를 다시로드한다고 생각하지는 않지만 route 만 생각 합니다 .
답변
location.reload();
트릭을 수행합니다.
<a ng-click="reload()">
$scope.reload = function()
{
location.reload();
}
경로가 필요하거나 평범한 오래된 JS가 필요하지 않습니다.
답변
Alexandrin의 답변과 비슷하지만 $ route 대신 $ state를 사용합니다.
(JimTheDev의 SO 답변 에서 여기에 있습니다 .)
$scope.reloadState = function() {
$state.go($state.current, {}, {reload: true});
}
<a ng-click="reloadState()" ...
답변
답변
무한 루프를 피하는 내 해결책은 리디렉션을 만든 다른 상태를 만드는 것입니다.
$stateProvider.state('app.admin.main', {
url: '/admin/main',
authenticate: 'admin',
controller: ($state, $window) => {
$state.go('app.admin.overview').then(() => {
$window.location.reload();
});
}
});
답변
앵귤러 2+
Angular 2+를 검색하는 동안 이것을 찾았으므로 다음과 같은 방법입니다.
$window.location.reload();
![](http://daplus.net/wp-content/uploads/2023/04/coupang_part-e1630022808943-2.png)