>  Q&A  >  본문

javascript - anglejs ui-router 상위 페이지의 데이터 변경 사항을 하위 페이지에 알리는 방법

상위 페이지가 중첩된 하위 페이지(ui-view에도 내부에 ui-view가 있음)

하위 페이지는 컴포넌트를 사용하여 작성되므로 상위 페이지의 범위를 상속받을 수 없습니다

이제 부모는 매개변수를 전달하여 자식에게 데이터를 전송합니다 $state.go('parent.child', {data: $scope.data})

그러나 상위 데이터가 수정되면 하위 페이지는 이를 알지 못하고 그대로 유지됩니다.

상위 페이지의 데이터 수정을 하위 페이지에 알리는 방법이나 매개변수를 전달하는 다른 방법이 있나요?

曾经蜡笔没有小新曾经蜡笔没有小新2634일 전1051

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-07-04 13:46:45

    상위 범위$broadcast子页面可以收到,子页面scope$emit상위 페이지 수집 가능

    회신하다
    0
  • 世界只因有你

    世界只因有你2017-07-04 13:46:45

    이것은 페이지 구성 요소 간의 데이터 공유 문제로 간주되어야 합니다. 제가 생각하는 해결 방법은 다음과 같습니다.

    • Angular의 내부 이벤트 메커니즘을 빌려 하위 페이지는 상위 페이지에서 게시한 이벤트를 구독하여 일부 변경을 수행하며 그 반대의 경우도 마찬가지입니다.

    • 공유 데이터를 저장하고 두 페이지의 구성 요소에 각각 삽입하는 공통 서비스를 구현합니다

    • 유명한 redux와 같은 타사 상태 호스팅 컨테이너를 사용하고 적응을 위해 ng-redux를 사용합니다. 두 페이지는 action

    • 을 호출하여 상태 컨테이너에 저장된 상태를 변경합니다.

    회신하다
    0
  • 취소회신하다