2011-10-13 2 views
0

피드 항목의 클라이언트 측 렌더링이 필요한 뉴스 피드 유형 기능을 구축 중입니다. 각 유형에는 다른 템플리트가 필요한 피드 항목의 다른 유형이 있습니다. 현재 UnderscoreJS 템플릿을 사용하고 있지만 새로운 아이디어가 열려 있습니다.여러 템플릿을 사용하여 컬렉션 하나 렌더링

나는 대략 이런 방법을 사용하고

:

template : { 
    f : "<li> <%= item.user.name %> uploaded a file </li>", // file upload 
    m : "<li> <%= item.user.name %> just joined </li>", // just joined 
    p : "<li> <%= item.user.name %> - <%= item.data.txt %> </li>" // comment 
} 

var html=""; 

for(i in feeditems){ 
    var item = feeditems[i]; 
    html+= _.template(template[item.type], { item: item }); 
} 

$('#container').html(html); 

는이 문제를 해결하는 가장 좋은 방법입니다?

+0

의존성 ... "효율적"이라고 "빠른"을 의미합니까, 아니면 "개발자 생산성 향상"을 의미합니까? 자바 스크립트 내부에 HTML 템플릿을 배치하는 것은 후자의 경우에 좋지 않을 것이라고 제안합니다. – Domenic

답변

1

From Underscore.js documentation

템플릿

렌더링을 평가 할 수있는 기능으로 자바 스크립트 템플릿을 컴파일합니다. JSON 데이터 소스에서 복잡한 HTML 비트를 렌더링하는 데 유용합니다.

매우 효율적이어야합니다.

가장 효율적인가요?

말하기 어렵지만 가장 효율적인 방법은 문자열을 하드 코딩하는 것입니다. 그러나 전혀 조회를하지 않으면 가독성이 좋은 코드를 만들기 위해 효율성을 약간 희생하는 것이 더 나을 때도 있습니다.

성능에 문제가 있습니까? 네가 그렇게하지 않으면, 나는 걱정하지 않을 것이다. 만약 이것이 가장 효율적인 템플릿이라고 생각하는 대신에 병목 현상이 다른 곳에서 발생하기 때문에 응용 프로그램의 프로필을 작성해야합니다.

관련 문제