2014-05-19 2 views
0

내 핸들 막대보기에 값이 표시되지 않고 대신 모든 핸들 막대 변수에 "0"이 표시됩니다. 내가 뭘 잘못 했니?핸들 막대에 값이 표시되지 않음

내 핸들 JS

function reDrawList(){ var source = $("#entry-template").html(); var template = Handlebars.compile(source); var context = {name: "Example" , price: "example2"}; var html = template(context); $(".scrollable").prepend(template); };

내 핸들은

<script id="entry-template" type="text/x-handlebars-template"> <li class="listnone border_bottom_grey semi_padding thin"> <div class="circle"><i class="icon-pin"></i></div> <span class="grey bold inline quarter_padding_left"> {{name}}</span> <span class="small right white tag_price">{{price}}</span></br> <span class="quarter_padding_top inline lightgrey small"> <i class="icon-location-2 indent20 small"> </i> {{location}}</span> </li> </script>

감사를보기!

답변

0

수정 됨.

html 변수가별로 의미가 없습니다.

대신 prepend 메서드를 사용하여 (컨텍스트)에서 데이터를 템플릿에 직접 넣을 수 있습니다.

function reDrawList(){ var source = $("#entry-template").html(); var template = Handlebars.compile(source); var context = {price: "20€", name: "Example"}; $(".scrollable").prepend(template(context)); };

+0

는 사실,이 문제가 있었다, 당신은 몇 초를 알아 냈어. –

0

당신은 당신의 .scrollable 요소에 컴파일 된 HTML 출력 (var html = template(context))가 아닌 템플릿을 앞에 추가해야합니다. 조금 도와 주려고 fiddle을 만들었습니다.

코드 : 나는 대답을 게시하기 전에

function reDrawList(){ 
    var source = $("#entry-template").html(); 
    var template = Handlebars.compile(source); 
    var context = {name: "example" , price: "$20"}; 
    var html = template(context); 

    $(".scrollable").prepend(html); // LINE TO PAY ATTENTION TO 
}; 
+0

이전에 해답을 작성하여 수정했습니다. 맞습니까? 내 생각과 똑같은 것 같지만 1 var 이하 여야합니다. – Gibson

+0

물론 맞습니다. 방금 자신의 질문에 답했습니다! –

관련 문제