Backbone 및 Backbone.Marionette을 기존 웹 응용 프로그램 프로젝트에 통합하는 과정에 있습니다. 우리는 지금 당장은 기존의 모든 기능을 프로젝트에 남겨 둘 계획이지만 새로운 기능은 백본 구조 및 마리오네트 교장을 활용할 것입니다. 비즈니스의 첫 번째 순서 중 하나는 HTML 템플릿 렌더링 라이브러리와 이러한 템플릿에 대한 데이터 바인딩 솔루션을 결정하는 것입니다. 이전에는 모든 템플릿 요구 사항과 데이터 바인딩에 JsRender 및 JsViews을 사용했지만 새로운 기능에 대한 새로운 방법을 모색하고 있습니다. 그래서 기본적으로 저는 다양한 솔루션을 연구 해왔고 지금 선택할 사항에 대한 조언이나 생각이 필요합니다. 여기에 내가 지금까지 살펴본 것입니다 :백본 : 모델 - 템플릿 및 템플릿 - 모델 바인딩
는:장점 : 매우 "깨끗한"템플릿을 유지하는 데 도움이 우려 분리의 백본의 생각을 따르도록 보인다.
단점 : 바인딩을 정의하기 위해보기에 좀 더 많은 코드를 작성해야하는 것처럼 보입니다. 또한 조건부 렌더링을 수행 할 능력이 부족한 것처럼 보이므로 항상 전체 템플릿을 렌더링하고 특정 요소의 표시를 전환해야합니다.
:장점 : 너무 지저분하지 않고 템플릿 내에서 옵션을 결합 조금 더 많은 데이터를 처리합니다.
단점 : 조건부 렌더링이 부족한 것 같습니다.
:장점 : 속성을 통해 요구 사항을 데이터 바인딩의 모든 종류를 처리합니다.
단점 : 변환기를 사용하여 템플릿을 쉽게 "지저분하게"시작할 수 있습니다. Backbone 모델로부터 녹아웃 뷰 모델을 생성하기위한 또 다른 단계를 추가해야합니다.
장점 : 마네의 능력을하지만 서로 다른 문법과 유사. 조건부 렌더링을 처리합니다.
단점 : 이전에는 템플리트 내에 너무 많은 비즈니스 로직을 추가하여 템플리트를 삭제했지만 해결할 수있는 개발상의 문제 일 수 있습니다. JsViews 관측 가능성 기능을 백본 모델 이벤트에 연결하는 기능을 생성해야합니다. StickIt 및 Knockback과 같은 다른 라이브러리는 자동으로이를 처리합니다.
우리는 또한 StickIt와 리벳 사이에-어딘가에 Backbone.ModelBinder로 보았다.
누구나 내린 결정을 공유 할 수 있으며 왜 다른 플러그인/라이브러리를 선택 했나요? 나는 또한 다른 제안들에 대해서도 열려 있습니다. 감사.
나는 밑줄을 체크 아웃했다. 나는 "스파게티"템플릿에 대해 동일한 문제가있을 수 있다고 생각했습니다. 주된 관심사는 템플릿에 대한 작업을하는 수많은 개발자가 있으며 HTML에 너무 많은 로직과 템플릿 구문을 얽어 넣기 시작했습니다. 그래서 우리가 그 습관을 포기하도록 강요하기 위해 우리는 백본과 함께 가기로 결심했습니다. 템플리트 외부에서 바인딩을 만드는 데 익숙해 지려면 약간의 시간이 걸릴 것으로 보이지만 HTML의 "청결 함"을 통해 이점을 얻을 수 있기를 바랍니다. 귀하의 의견을 보내 주셔서 감사합니다. –