2014-03-19 2 views
0

나는 이것이 가능해야한다고 생각하지만, 작동시키지 못한다. 기본적으로 밑줄과 jQuery를 사용하여 템플릿이 있고 템플릿에 보낼 개체 배열이 있습니다.밑줄 템플릿 json 배열

var template = _.template($("script.template").html()); 
var jA = data.jsonArray; 
$("#results").html(_.template(template(jA))); 

배열의 각 개체에 템플릿을 적용하려고하지만 템플릿이 작동하지 않을 것으로 예상됩니다.

루프를 실행하면 작동하지만 불필요한 것처럼 보입니다.

$.each(jA, function(index,value){ 
    $("#results").append(_.template(template(value))); 
}); 

내가 누락되었거나 난잡한 루프를해야합니까?

감사합니다 :)

+0

script.template 태그에 코드를 추가 할 수 있습니까? – ne8il

+0

jA는 JSON으로 데이터를 파싱하는 jQuery getJSON에서 왔기 때문에 jA는 JSONArray입니다. 루프 유형을 얻는다면 JSONObject가있는 것과는 다른 일을 할 것이기 때문에 루프를 수행 할 것으로 기대합니다. – PixMach

답변

0

예, 당신은 루프를 할 필요 (JA는 확실히 JSON 배열입니다). 밑줄은 처리 된 템플릿을 자동으로 루프 처리하고 반복적으로 추가하지 않습니다. 또한 왜 불필요하다고 생각하는지 확신 할 수 없습니다. 목록에있는 인덱스 된 요소에서 특별히 필요한 템플릿이 있다면 <%= data[0] %>과 같은 것일 수 있습니다. 도움이된다면

_.each(data, function(item) { 
    list.append(template(item)); 
}); 

여기 a pen있어 :

어쨌든, 루프는 정말 큰 문제가되지 않습니다.

+0

그래,하지만 천천히 그래서 내가 변수에 모두 쓰고 마지막에 HTML을 넣어 줄 필요가 추가, 그것은 불필요한 것 같아요 그리고 나는 그것이 minimalism 이해하지만 그것은 밑줄로 더 깨끗하게 처리되어야 같은 느낌 도서관. – PixMach