将变量传递给已编译的车把模板(expressjs)

时间:2017-08-26 14:08:35

标签: express handlebars.js

我正在尝试将变量传递给把手编译模板,但是我得到一个空白而不是正确的值,即使控制台记录了正确的对象。我想我正在做一些愚蠢的错误,但我已经尝试了很多,无法找到正确的方法。

我的脚本文件:

<script>

$(document).ready(function(){

    var textTemplate = $("#text-template").html();
    var compiledTextTemplate = Handlebars.compile(textTemplate);

    $('#getText').click(function (e) {
        e.preventDefault();

        function successCallback(responseObj){
            console.log(responseObj); // I get the right object here
         $("#target").html(compiledTextTemplate(responseObj));
        };

        $.ajax({
        url: "/users/user/get",
        type: "get",
        success: function(response){
                successCallback(response);
            }
        });
    });
});

</script>

我的观点:

<div id="target">

</div>

<input id="getText" type="button" value="Get Text">

<script id="text-template" type="text/x-handlebars-template">

    <div>
        Your text is here >>> {{text}}
    </div>

</script>

当我单击按钮时,变量中出现空白,但控制台会记录此对象:

Object
done: false
text: "Testing your text 1."
__v: 0
_id:"599cb206d86e536924a6cce9"
__proto__: Object

1 个答案:

答案 0 :(得分:0)

我解决了在我的价值之前加一个反斜杠:

\{{text}}