0
我有这段代码来设置twitter typeahead,它根本不工作。我验证了json是正确的格式,并有正确的值等任何帮助将不胜感激。目前,它只记录'Initializing autocomplete'
行。过滤器中的日志从不会被调用,这似乎是由于某种原因引擎未初始化。当我输入时,我看到了我定义的空模板。我也确认了确保将coffeescript编译成适当的格式。Twitter typeahead bloodhound not prefetching
initAutocomplete: ->
console.log 'Initializing autocomplete'
engine = new Bloodhound
datumTokenizer: (d) ->
Bloodhound.tokenizers.obj.whitespace(d.val)
queryTokenizer: Bloodhound.tokenizers.whitespace
limit: 10
prefetch:
url:'../api/v3/tickets/autocomplete'
filter: (list) ->
console.log 'List: '
console.log list
engine.initialize()
$('#tt-ticket.typeahead').typeahead null,
name: 'tickets'
displayKey: 'val'
source: engine.ttAdapter()
templates:
empty: [
'<div class="empty-message">',
'Unable to find any matches',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p><strong>{{key}}</strong> – {{value}}</p>')
的JSON已经被证实具有这种格式:
[{"key":"Id","val":1}, {"key":"Some other key", "val" : "some val"}]