我试图在typeahead中使用模板但是我有这样的错误:无法读取未定义的属性'length'
脚本是:
var countriesBasic = new Bloodhound({
datumTokenizer: function(d) { return d.tokens; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'assets/json/countries.json'
});
countriesBasic.initialize();
$('#countriesList').typeahead(null, {
name: 'countries',
displayKey: 'name',
source: countriesBasic.ttAdapter(),
templates: {
suggestion: Handlebars.compile([
'<p class="country-name">{{name}}</p>',
'<p class="country-iso">{{iso}}</p>',
'<p class="country-description">{{capital}}</p>'
].join(''))
}
});
json文件是
[{
"id": 1,
"iso": "US",
"capital": "Washington",
"name": "United States"
},{
"id": 2,
"iso": "FR",
"capital": "Paris",
"name": "France"
}]
似乎我的json文件中存在一个错误,因为当我使用demo中的文件时它可以工作,但我没有看到问题......