刚刚从我们的一个项目中获取了这段代码,应该可以帮助您理解转换外部 JSON 数组和在自定义自动完成提示中输出的必要标记:
$('input').typeahead({
header: 'Your Events',
template: [
'<img class="ta-thumb" src="https://graph.facebook.com/{{id}}/picture?type=square" />',
'<p class="ta-h1">{{name}}</p>',
'<p class="ta-p">{{start_time}}</p>'
].join(''),
limit: 3,
remote: {
url: 'https://graph.facebook.com/me/events?access_token=' + access_token,
filter: function(parsedResponse) {
var dataset = [];
for(i = 0; i < parsedResponse.data.length; i++) {
dataset.push({
name: parsedResponse.data[i].name,
start_time: parsedResponse.data[i].start_time,
id: parsedResponse.data[i].id,
value: parsedResponse.data[i].name,
tokens: [parsedResponse.data[i].id, parsedResponse.data[i].name]
});
}
return dataset;
},
},
engine: Hogan
});
您需要下载Hogan.js模板编译器并将其包含在您的标记中(例如,将其用作外部脚本或通过像Require.js这样的模块加载器)。这将设置Hogan
变量。
我还建议查看Graph API 调用以更好地理解数组转换。
希望这会有所帮助:)