컴포넌트 대 위젯


10

마 젠토 2에서 컴포넌트와 위젯의 차이점은 무엇입니까? 예를 들어 모달 구성 요소와 모달 위젯이 있으며 둘 다 동일한 작업을 수행하는 것으로 보입니다.

구성 요소

모달 UI 컴포넌트 메인 화면의 상단에 열립니다 구현하는 보조 창. 모달 위젯을 사용합니다.

위젯

젠토는 위젯 모달 구현을 메인 화면의 상단에 열리는 보조 창을.

위젯은 몇 줄의 JS로 초기화 할 수 있습니다. 여기서 컴포넌트는 많은 XML 줄을 필요로하지만 여전히 위젯을 사용합니다. 그렇다면 누구나 XML 방법을 사용하는 이유는 무엇입니까?

답변:


6

위젯은 몇 줄의 JS로 초기화 할 수 있습니다. 여기서 컴포넌트는 많은 XML 줄을 필요로하지만 여전히 위젯을 사용합니다. 그렇다면 누구나 XML 방법을 사용하는 이유는 무엇입니까?

개발자는 UI 구성 요소 시스템을 사용하여 여러 다른 RequireJS 모듈을 KnockoutJS보기 모델 생성자 ( "remote"Knockout.js 템플릿과 함께)로 패키지 한 다음 Magento 페이지의 HTML 소스에서 해당보기 모델을 사용할 수 있습니다. 특수 Knockout.js 범위 바인딩. 모든 UI 구성 요소는 일련의 서버 측 데이터와도 관련됩니다. 최종 목표는 하나의 거대한 지저분한 자바 스크립트 파일 일뿐만 아니라 최종 사용자가 <uiCompnent name="foo"/>레이아웃 XML에 단순하게 포함 할 수있는 복잡한 UI 기능을 만드는 것입니다 .

따라서 모달 위젯을 시작하기가 더 쉽다는 것이 맞습니다. 그러나 복잡한 UI 구성 요소를 작성하고 복잡한 UI 구성 요소에 모달 기능이 포함되도록하려면 모달 UI 구성 요소를 사용하십시오.

적어도 그것은 상황 / 시스템에 대한 나의 현재의 이해입니다. 관심이 있다면 내 UI 구성 요소 시리즈 (자체 링크)의 더 많은 컨텍스트


모델 데이터 예 모달 양식 구성 요소와 관련된 CRUD 작업이있는 경우 모달 위젯 대신 모달 구성 요소를 사용해야합니다! 권리 ? 그러나 더 어렵게 구현하는 것
mrtuvn

답변 감사합니다 및 @ alan-storm 링크 확실히 확인하겠습니다. 구현하기가 훨씬 어려워 보이지만 큰 작업이 더 합리적이라고 생각합니다. 나는 더 많은 답변을 위해 며칠을 줄 것이다.
벤 크룩
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.