把手没有显示价值

时间:2014-05-19 10:04:40

标签: javascript handlebars.js

我的车把视图没有显示值,相反,它为每个车把变量显示“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>

谢谢!

2 个答案:

答案 0 :(得分:0)

固定。

html变量没有多大意义。

相反,y在prepend方法之后将来自(context)的数据直接放在模板中。

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

答案 1 :(得分:0)

您应该将已编译的html输出(var html = template(context))而非模板添加到.scrollable元素中。 我做了一点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
};