我已经找到了答案但仍无法找到答案。我想我做错了但我无法弄清楚它是什么。这是我的先行代码:
$('.zoek').typeahead({
name: 'items01',
prefetch: {
url: '/models/_global.json',
ttl: 1,
},
template: '<div id="breed">
<span>{{#lock}}<img src="/assets/img/lock-icon-small.png">{{/lock}}{{^lock}}<img src="/assets/img/empty-icon-small.png">{{/lock}}</span>
<span class="searchresult"><a href="article">{{value}}</a></span>
<span class="searchresult-type"> - {{type}} </span>
<span class="red">{{#popular}} - popular {{/popular}}</span>
<span class="red">{{#new}} - new {{/new}}</span>
</div>',
engine: Hogan
});
这是我的_global.json文件:
{
"items": [
{"value":"making claims for ebook subscriptions",
"icon":"download-icon-small.png",
"type":"brochure",
"date":"12-10-2011",
"lock": false,
"popular": false,
"new": true,
"tag": ["ebook","claim"]},
{"value":"Claim discovery & Online Management Suite - English",
"icon":"download-icon-small.png",
"type":"case",
"date":"28-02-2010",
"lock": true,
"popular": false,
"new": false,
"tag": ["claim","online"]},
{"value":"Get access to all online ebook publishers ",
"icon":"download-icon-small.png",
"type":"factsheet",
"date":"17-08-2012",
"lock": false,
"popular": true,
"new": true,
"tag": ["online","ebook"]},
{"value":"Ebook catalogue in swetswise - howto",
"icon":"show-icon-small.png",
"type":"hint",
"date":"08-01-2009",
"lock": true,
"popular": false,
"new": false,
"tag": ["ebook","swetswise"]},
{"value":"Swetswise software improved: you can claim now!",
"icon":"download-icon-small.png",
"type":"press",
"date":"20-08-2002",
"lock": false,
"popular": true,
"new": false,
"tag": ["swetswise","claim"]}
]
}
Json文件不能有其他格式,因为其他一些代码依赖于这种格式。预取不起作用,我想我必须使用过滤器。尝试了我能找到的各种过滤器示例,但似乎没有任何效果。我做错了什么。
P.S。 (当我在json文件中省略顶部花括号和键“items”时,它们都正常工作,因此js。库和Hogan没有问题)
希望有人可以帮助我。
问候。 M.dekker
答案 0 :(得分:2)
经过良好的睡眠和一些思考,找到了我的问题的答案。
在预取块中添加以下代码解决了我的问题:
filter: function(data){
// filter the returned data
return data.items;
}