웹 애플리케이션에서 컴포넌트 간 통신이 필요하며이를 수행하는 여러 가지 방법을 고려하고 있습니다. 나는 몇 가지 아이디어를 가지고 있지만 다른 아이디어를 환영합니다.자바 스크립트의 컴포넌트 간 통신
먼저 빠르고 간단한 예입니다. 비동기 적으로로드되는 두 개의 개별 구성 요소가 페이지에 있습니다. 구성 요소은 html의 노드에 jquery 기반 비헤이비어가 포함 된 javascript 객체가 포함 된 HTML 청크를 의미합니다. 사용자가 한 구성 요소와 상호 작용할 때 다른 구성 요소에서 변경이 이루어져야하며 반대의 경우도 마찬가지입니다.
여기서 기억해야 할 핵심 사항은 각 구성 요소가 자체 포함 된 단위 여야한다는 것입니다. 응용 프로그램의 다른 부분이나 다른 응용 프로그램에서도 다시 사용할 수 있습니다. 따라서 페이지에 다른 구성 요소가 있는지 여부는 알 수 없습니다.
솔루션에 대한 현재의 생각은 구성 요소가 관심이있는 사용자 지정 이벤트를 수신하는 동시에 작업이 수행 될 때 사용자 지정 이벤트를 보내는 것입니다. 따라서 각 구성 요소는 다른 구성 요소에 의해 트리거되는 이벤트를 수신합니다.
비동기 로딩 때문에 한 구성 요소가 다른 구성 요소보다로드하는 데 시간이 오래 걸릴 수 있습니다. 이벤트가 너무 빨리 전송되어 손실 될 가능성이 있습니다. 어떤 경우에는 괜찮을 수도 있지만 경우에 따라 구성 요소가 보내는 모든 이벤트가 소비되도록해야합니다.
그래서 여기에 몇 가지 관련 질문입니다 :
가 트리거 된 후 이벤트에 어떻게됩니까? 트리거되었을 때 청취자가 없으면 그냥 사라지나요?
트리거 된 짝수 신호가 소비되었거나 유실되었는지 감지하는 방법이 있습니까?
각 구성 요소에 대한 좋은 방법은 은 다른 구성 요소에 대해 알고?
이러한 유형의 것을 다루는 기존 오픈 소스 자바 스크립트 프로젝트 또는 jquery 플러그인이 있습니까? 안부에서
좋습니다. 메시지 버스는 응용 프로그램 레벨에있을 수 있으며 페이지로드시 시작됩니다. 그런 다음 구성 요소가 이벤트를 보내면 버스가 구독자가 등록 할 때까지 해당 가입자를 적절한 가입자 또는 보류 장치로 푸시합니다. 이벤트의 유효 기간이 만료되면 원래 송신 구성 요소에 이벤트가 실패했음을 알릴 수도 있습니다. – Tauren