微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 前置自定义模板没有Handlebars

我试图实现Typeahead.JS “Custom Template” example
$('#custom-templates .typeahead').typeahead(null,{
  name: 'best-pictures',displayKey: 'value',source: bestPictures.ttAdapter(),templates: {
    empty: [
      '<div class="empty-message">','unable to find any Best Picture winners that match the current query','</div>'
    ].join('\n'),suggestion: Handlebars.compile('<p><strong>{{value}}</strong> – {{year}}</p>')
  }
});

具体如下:

suggestion: Handlebars.compile('<p><strong>{{value}}</strong> – {{year}}</p>')

最初我没有意识到你需要明确地要求Handlebars作为依赖:

Uncaught ReferenceError: Handlebars is not defined

当我删除Handlebars …

suggestion: '<p><strong>' + value + '</strong> – ' + year + '</p>'

它给出另一个JS错误

Uncaught ReferenceError: value is not defined

是否可以使用自定义视图模板,而不使用Handlebars引擎?

解决方法

使用此格式:
suggestion: function(data) {
    return '<p><strong>' + data.value + '</strong> – ' + data.year + '</p>';
}

取自this thread

原文地址:https://www.jb51.cc/jquery/182296.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐