javascript - Angular는 브로드캐스트 및 on을 사용하여 페이지로 이동하고 데이터를 전송하지만 점프 후에는 데이터가 수신되지 않습니다.
高洛峰
高洛峰 2017-05-15 17:14:25
0
3
763

Angular에서 $broadcast와 $on을 사용하여 페이지로 이동하여 데이터를 전송하는데 점프 후 데이터를 수신할 수 없습니다. (버튼을 다시 클릭할 때만 표시됩니다.)
구체적인 요구사항: 클릭 첫 번째 페이지의 버튼을 두 번째 페이지에서 shopList 배열을 받을 수 있도록 배열(아래 그림의 shopList 배열)을 두 번째 페이지에 전달합니다.

첫 페이지

으아악

해당 컨트롤러(메인 컨트롤러-부모)

으아악

두 번째 페이지의 컨트롤러(메인 컨트롤러 아래의 하위 집합)

으아악

그런데 테스트 결과 두 번째 페이지의 console.log(data)가 출력되지 않는 것으로 확인되었는데, 다시 클릭하니 라우팅 문제인가요? 자세한 내용은 다음과 같습니다.
메인 페이지는 다음과 같습니다. 장바구니가 측면에 숨겨져 있습니다. 네비게이션 바에서 장바구니를 클릭하면 오른쪽에 장바구니가 나타납니다.

방금 시작했습니다:

버튼을 클릭하면 배열이 전달되고 다른 페이지로 이동하지만 배열이 인쇄되지 않습니다.

"체크아웃" 버튼을 다시 클릭하면 인쇄됩니다:

그 이유는 무엇인가요? 어떻게 해결하나요?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(3)
世界只因有你

Remove ui-sref="app.checkOut", 메서드에서 먼저 $broadcast를 실행한 다음 점프를 라우팅합니다.

으아악
大家讲道理

rootScope 아래에 클릭 이벤트를 추가하는 이유는 무엇입니까? 페이지 범위에 직접 추가하고 살펴보세요.

phpcn_u1582

$state.go는 페이지로 이동할 때 매개변수를 직접 전달할 수 있는데 왜 $broadcast

를 사용해야 할까요?

마스터 컨트롤러 - 상위

으아악

메인 컨트롤러 아래 하위 세트

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿