我正在使用带有下划线模板的typeahead.js。
我的代码
this.$("#search-box").typeahead({
name: 'notes'
, valueKey: 'Title'
, template: '<div class="tt-suggestion"><p class="notes-creator-typeahead" style="white-space: normal;"><%= Title %></p></div>'
, remote: {
url: '/Notes/Search?query=%QUERY',
filter: function (response) {
console.log(response);
var arr = [];
for (var i = 0; i < response.length; i++) {
var item = new Object();
item.Id = response[i].Id;
item.Title = response[i].Title;
arr.push(item);
}
return arr;
}
}
});
它不起作用,它给了我以下错误
未捕获错误:未指定模板引擎
我该如何解决这个问题?
答案 0 :(得分:2)
阅读此https://github.com/tcrosen/twitter-bootstrap-typeahead/issues/20
后这是我现在使用的,它的工作原理,唯一的变化是
template: '<div class="tt-suggestion"><p class="notes-creator-typeahead" style="white-space: normal;"><%= Title %></p></div>'
我现在正在使用
template: _.template('<div class="tt-suggestion"><p class="notes-creator-typeahead" style="white-space: normal;"><%= Title %></p></div>')
这是完整的代码
this.$("#search-box").typeahead({
name: 'notes'
, valueKey: 'Title'
, template: _.template('<div class="tt-suggestion"><p class="notes-creator-typeahead" style="white-space: normal;"><%= Title %></p></div>')
, remote: {
url: '/Notes/Search?query=%QUERY',
filter: function (response) {
console.log(response);
var arr = [];
for (var i = 0; i < response.length; i++) {
var item = new Object();
item.Id = response[i].Id;
item.Title = response[i].Title;
arr.push(item);
}
return arr;
}
}
});