Я использую (ну, хотел бы использовать) typeahead.js, чтобы выполнить поиск в моей базе данных по торговой марке и модели одновременно и отобразить результаты, сгруппированные по торговой марке. Я думал, что могу использовать простой шаблон Усы, чтобы выполнить это, но мне не повезло.Twitter typeahead.js - сгруппированные результаты с шаблоном Hogan?
Моя текущая конфигурация машинописный:
myEl.typeahead({
"name": "models-by-brand",
"valueKey": "id",
"remote": "/search/%QUERY",
"template": '{{#brands}}' +
'<h4>{{brand_name}}</h4>' +
'{{#models}}' +
'<p><a href="#" class="pick-model" data-modelid="{{id}}">{{name}}</a></p>' +
'{{/models}}' +
'{{/brands}}',
"engine": Hogan
});
JSON вернулся из /search/super
:
{
"brands": [
{
"brand_name": "Super Widgets",
"models": [
{
"id": 1,
"name": "Crazy Widget"
}
]
},
{
"brand_name": "Acme Widgets",
"models": [
{
"id": 2,
"name": "Extra Super Widget"
},
{
"id": 2,
"name": "Double Super Widget"
}
]
}
]
}
Я хочу, чтобы выходной машинописный быть сгруппированы по брэнду и выбираются по имени модели Thusly:
Super Widgets
Crazy Widget
Acme Widgets
Extra Super Widget
Double Super Widget
Но, видимо, я не могу использовать Hogan шаблоны с машинописным таким способом (с вложенными блоками). Typeahead отображает только один результат без текста.
Я попытался использовать функцию фильтра с пультом для форматирования каждой базы данных, но это позволило мне получить только плоский список всех данных - я не мог понять, как сгруппировать результаты.
Является ли это возможным с помощью шаблонов typeahead? Я просто пропустил что-то действительно очевидное? У меня есть контроль над удаленным результатом JSON, поэтому я могу изменить этот формат, если мне нужно. Спасибо за любую помощь.
Спасибо. Это имеет смысл теперь, я думаю, больше об этом - шаблон предназначен для форматирования по каждому дате, а не для форматирования всего набора данных. Я не могу иметь несколько пультов, так как у меня потенциально большое количество брендов. Тем не менее, я не собираюсь сдаваться - возможно, я могу переопределить функцию рендеринга typeahead или что-то в этом роде? – glomad