programing

AngularJsui-router: 강제 재로드

oldcodes 2023. 10. 6. 21:59
반응형

AngularJsui-router: 강제 재로드

나는 각진 것이 있습니다.js 앱은 index.html에서 시작하여 ui-router를 사용합니다.트리거에 따라 전체 페이지를 다시 로드합니다.노력했습니다.

$state.go($state.current, $stateParams, {
    reload: true,
    inherit: false,
    notify: true
});

하지만 그것은 효과가 없습니다.초기 인덱스 .html을 다시 로드하지 않습니다.

할 수 있습니다.

window.location.href = "index.html";

하지만 저는 지금 상태가 아니라 초기 단계에 있습니다.

세트를 해야합니다.window.location.href로.index.html현재 위치를 지정하는 쿼리 문자열 매개 변수와 함께?그렇게 하면 이 위치로 어떻게 이동하나요?

현재의 요령은 다음과 같습니다.

$state.go ($state.current.name , $state.params, {reload: true};

모든 사람들이 세르게 반 덴 오버가 실제로 요구하는 것을 무시한 것 같습니다. 그것은 그가 경로만이 아니라 전체 페이지를 다시 로드하기를 원한다는 것입니다.

그것에 대한 해결책은 만약 당신이 주사한다면 꽤 간단합니다.$window컨트롤러에 서비스 제공:

$window.location.reload();

경로를 다시 로드하려는 경우(훨씬 더 일반적인 것처럼 보임), 다음을 사용하는 경우ui-router, 그럼 그냥 주사를 놔주세요.$state서비스 및 수행:

$state.reload();

이것은 버그가 수정되었기 때문에 컨트롤러를 다시 초기화할 것입니다. 비록 초기화가 되지는 않는다고 생각합니다.resolves.

이것은 저에게도 비슷한 시나리오로 통했습니다.

$state.go('root.state').then(function(){
    $state.reload();
});

$route 서비스를 컨트롤러에 포함시킨다면 시도해 볼 수 있습니다.$route.reload();

시도해 보기:

$state.transitionTo($state.current, $stateParams, {
    reload: true,
    inherit: false,
    notify: true
});

언급URL : https://stackoverflow.com/questions/23257887/angularjs-ui-router-force-reload

반응형