1

내 질문에 간단합니다 :data-id가 문제의 분리를 위반합니까?

마크 업에 "데이터"표기를 추가하면 MVC의 우려 사항을 위반합니까?

예 : <div id="myDiv" data-id="34"></div>

또는 당신이 템플릿 시스템을 사용하는 경우, 다음 <div id="myDiv" data-id="{{myPrimaryKey}}"></div>

내 동료 사이 그것에 대해 몇 가지 논쟁이있다. 내 견해로는 HTML 마크 업 (일명보기)에 데이터를 포함하기 때문에 SoC를 위반하는 것입니다. 마크 업 내의 내용은 실제 표시/형식 지정 데이터에만 관심을 가져야합니다. 하지만 아마도 내가 너무 순진 주의자가되는거야?

배경 :이 토론을 주도한 프로젝트는 RESTful 웹 서비스를 백엔드로 사용하는 순수 JavaScript 클라이언트입니다. 데이터는 웹 서비스에 대한 AJAX 호출을 통해 검색됩니다.

답변

2

당신은 너무 순진한 사람입니다. 이것은 data- 물건이 만들어진 것입니다. 때로는 사용자 데이터로 노드에 주석을 달아 서버를 쿼리하거나 JavaScript의 이점을 얻기 위해 URL과 물건을 만들 수 있어야합니다.

+0

음, '데이터'의 목적이 무엇인지 이해합니다. 우리는 MVC (또는 Backbone의 경우 MVC-ish) 용 Backbone.js와 javascriptMVC를 시도해 왔으며 모든 의도와 목적을 위해 이러한 라이브러리를 'data-'속성을 추가하지 않고 필요한 것을 할 수 있습니다. 우리의 견해를 체계적으로 구성했다면 필요한 데이터를 제공 할 수있는 범위의 모델을 보유하고 있어야합니다. 트레이드 오프는 우리가 많은 세분화 된 견해로 끝난다는 것입니다. 그 자체로 좋은 것일 수도 있고 그렇지 않을 수도 있습니다. – Scot

+0

많은 세분화 된 뷰는 DRY 원칙을 위반하는 것 같습니다. :) –

+0

보기가 실제로 쓰여지지 않습니다. 예를 들어 위젯 목록이있는 경우 목록의 각 항목은 자체보기 인스턴스입니다. 그게 내가 의미하는 것. 다음은 간단한 예입니다. http://backbonejs.org/docs/todos.html – Scot