Handlebars.js не заменяет теги

Я использую Handlebars.js (или пытаюсь), и даже в простом примере он не заменяет фактические теги. с данными.

Вот что у меня есть:

    <script id="template" type="text/x-handlebars-template">
     <div>Test Template</div>
     <p>Name: {{name}}</p>
    </script>

    <div id="template-preview"></div>

 <script>
 var source   = $("#template").html();
 var template = Handlebars.compile(source);
 var data = { name : 'first name'};
 $("#template-preview").html(template(data));
</script>

Я не получаю никаких ошибок, и он отображает шаблон в предварительном просмотре шаблона, но {{name}} пуст. Любые идеи, если я что-то пропустил здесь?

Благодарю вас!


person dzm    schedule 05.04.2012    source источник
comment
Я довольно новичок в Handlebars, но может быть, он использует какой-то кешированный/предварительно скомпилированный шаблон?   -  person Jovan Perovic    schedule 06.04.2012


Ответы (1)


Это работает для меня (проверено с Chrome). Какую версию руля вы используете?

<!doctype html>
<head>
</head>
<body>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
     <script src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
     <script id="template" type="text/x-handlebars-template">
     <div>Test Template</div>
     <p>Name: {{name}}</p>
     </script>
     <div id="template-preview"></div>

     <script>
        var source   = $("#template").html();
        var template = Handlebars.compile(source);
        var data = { name : 'Michael'};
        $("#template-preview").html(template(data));
     </script>
</body>
</html>
person Foo Bar    schedule 05.04.2012
comment
Хм, автономный, который работает для меня тоже. Я также использую Head.js - может быть, это связано с этим - person dzm; 06.04.2012
comment
Можете ли вы показать больше кода, чтобы увидеть, как именно вы его используете? - person Foo Bar; 06.04.2012
comment
Ах, я думаю, это потому, что я использую рули внутри рулей. Используя рули в node.js, а затем в шаблоне, у меня есть другой код. - person dzm; 06.04.2012
comment
в файле hbs механизм просмотра заменит все разделители пробелом - person 戈晓伟; 23.06.2017