ODataModel을 사용하여 마스터 / 세부 SAPUI5 예제를 작업 중입니다. 마스터 목록의 모든 선택은 세부 정보보기에 대한 ID 별 바인딩 경로를 업데이트합니다. 내 앱 사용자는 마스터 목록 선택에 따라 세부 정보 페이지에 표시되는 정보 (모델 변경)를 변경할 수 있어야합니다.
사용자가 마스터 목록 항목 A에서 항목 B로 전환하고 항목 A의 세부 정보가 변경 될 때 알림을 받고 싶었습니다.
따라서 "hasPendingChanges"메서드를 사용할 계획이었습니다. 전화하는 동안
this.getView().getBindingContext().getModel()
이 메서드가 동일한 모델을 반환한다는 것을 깨달았습니다. JAVA 배경이 있으면 현재 상세보기의 모델을 얻을 것으로 예상했습니다. (모델! 객체가 아닙니다 ...)
현재 디테일 모델 이 변경된 경우 마스터 목록 선택별로 확인하는 방법이 있는지 알고 싶습니다 .
이 질문 을 찾았 지만이 경우에는이 사람이 object를 찾고있는 반면, 제 경우에는 hasPendingChanges ()를 반환 할 수 있도록 모델을 찾고 있습니다.
모델과 애플리케이션 데이터를 구별해야합니다. 모델 (이 경우 ODataModel)은 OData 서비스를 통해 애플리케이션 데이터를 검색하고 수정하는 기능을 노출합니다. 애플리케이션 데이터는 서비스의 엔티티 데이터 모델에 정의 된대로 엔티티를 나타냅니다.
이상적으로는 애플리케이션의 모든 뷰가 동일한 모델 인스턴스를 공유합니다. 즉, 다음을 의미합니다.
this.getView().getModel()
마스터에서도 동일한 인스턴스를 반환해야합니다. 모델에는 마스터 목록에서 항목을 선택하여 상세보기에로드 된 특정 엔티티뿐만 아니라 마스터에 표시된 (부분) 엔티티 세트가 포함됩니다. 상세보기에서 엔티티를 변경하면 이러한 변경 사항이 모델에 의해 수집됩니다.
따라서 hasPendingChanges
변경 사항이 적용되었는지 확인하고 아직 OData 서비스로 보내지 않았는지 확인하기 위해 앱의 어딘가에 호출하도록 저장됩니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다