2012-10-03 6 views
3

저는 Backbone.js와 여러 jQuery 플러그인을 사용하여 Web-CMS 앱의 대시 보드를 코딩하고 있습니다. 이 대시 보드는 가능한 한 직관적이고 사용자 지정이 가능해야하며 한 번에 확장 성이 높아야합니다.backbone.js와 jquery를 사용하여 동적으로 위젯을 대시 보드에 추가하십시오.

이제 제가하고 싶은 것은 위젯의 데이터를로드하는 것이며, 아약스를 통해 API로 템플릿을로드하는 것입니다. 사실, 그건 문제가 아니지만 자바 스크립트로 템플릿 데이터 (HTML/javascript/etc ...)를로드하는 가장 좋은 방법에 대해 아약스를 통해 묻고 싶습니다.

템플릿을 사용하여 HTML 스 니펫을 처음 수신 한 다음 두 번째 요청에서 JSON 문자열로 데이터를로드하면 여러 아약스 호출을 만들 수 있습니다.

// first request 
<h6>Some HTML Stuff here</h6> 
// second request 
{"id": "5", "name": "Example Widget"} 

또는 JSON 문자열에 템플릿 자체를 저장할 수 있습니다. JSON 문자열을 사용하면 서버로드가 줄어들지 만 틀린 느낌을받을 수 있습니다.

// single request 
{"id": "5", "name": "Example Widget", "template": "<h6>Some HTML stuff here"</h6>"} 

어떤 제안이나 다른 방법이 있습니까?

+0

당신은 많은 클라이언트 측 템플릿 옵션 (예를 들어,이 등 핸들을 강조) 중 하나를 사용하여 응용 프로그램에서 템플릿을 포함하고 데이터 만 및 템플릿 대신에 데이터를 요청할 수 있습니까? –

+0

@MattiJohn 위젯이 서버 백엔드에 플러그인하는 일종의 모듈처럼 작동하도록하고 싶었습니다. 따라서 위젯과 실제 대시 보드 스크립트는 구분됩니다. 그들을 스크립트에 포함시킬 방법이 없습니다. – Bubinsk

답변

2

2 요청 방법은 내가 개인적으로 이것을 설정했을 때의 방식입니다. 별도의 호출에 대한 오버 헤드는 브라우저에서 데이터를 처리하는 것에 대한 걱정이 없었습니다. 호출 횟수를 최소화하고 싶다면 JSON 응답을 결합하는 것이 가장 효율적인 방법 일 것입니다.

대부분의 사항을 관리하므로 require.js를 사용하는 것이 좋습니다.

http://backbonetutorials.com/organizing-backbone-using-modules/

+0

JSON 문자열에 실제 html을 저장하는 JSON "규칙"에 맞지 않습니까? jquery [here] (http://json2html.com/) 용 JSON 템플릿 플러그인을 발견했습니다. 그러나 그것은 매우 직관적 인 것처럼 보이지 않습니다. – Bubinsk

+0

html은 별도의 파일에 저장되며 템플릿 엔진은 두 파일을 결합합니다. 백본을 사용하고 있으므로 밑줄 템플릿 기능을 사용하는 것이 좋습니다. 당신이 사용하는 템플릿 엔진은 분명히 선호도이고, "최고의"것이 아닙니다. http://underscorejs.org/#template – Dcullen

관련 문제