handlebars的根据参数生成a标签

项目中要用到Handlebars,最近在学
api中是真么写的

    Handlebars.registerHelper('link', function(text,url) {
        text = Handlebars.Utils.escapeExpression(text);
        url  = Handlebars.Utils.escapeExpression(url);

        var result = '<a>' + text + '</a>';

        return new Handlebars.SafeString(result);
    });

我自己在加上编译模板,处理数据等js,如下

    var source   = $("#entry-template").html();
    var template = Handlebars.compile(source);
    var context = {
        text: "百度",
        url: "http://www.baidu.com"
    };
    var html = template(context);
    $('.entry').html(html);

template是这样的

<script id="entry-template" type="text/x-handlebars-template">
    {{link text,url}}
</script>

结构是

<div class="entry">

</div>

控制台报错如下

Uncaught Error: Parse error on line 2:
    {{link text,url}}

我想是参数传的不对吧(我说的就是这里 {{link text,url}}),应该怎么弄,求大神指点

阅读 2.8k
1 个回答

template应该是:

<script id="entry-template" type="text/x-handlebars-template">
    {{#link text url}}{{/link}}
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题