我正在使用Angular Typeahead,并且需要在返回的结果中有一个页脚链接到完整的高级搜索。我知道我可以使用jquery做到这一点,但我想完全保持Angular。
<input type="text" ng-model="spotlightModel" autofocus="autofocus" placeholder="Search" typeahead="searchResult.Description as searchResult for searchResult in getResults($viewValue)"
ypeahead-wait-ms="750" typeahead-template-url="app/views/common/directives/SpotlightSearchResult.html"
typeahead-on-select="onSelect($item)" class="form-control typeahead-input">
有什么建议吗?
答案 0 :(得分:0)
我有同样的问题。经过大量的谷歌搜索后,我发现可以覆盖typeahead-popup.html的bootstrap模板。
这是原始答案。 https://stackoverflow.com/a/19720026/4704366
基本上将此代码放入js文件中,以便在 ui-bootstrap js后加载应用程序。然后将下面的 FOOTER 替换为您的实际页脚html。
angular.module("template/typeahead/typeahead-popup.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("template/typeahead/typeahead-popup.html",
"<ul class=\"dropdown-menu\" ng-show=\"isOpen() && !moveInProgress\" ng-style=\"{top: position().top+'px', left: position().left+'px'}\" style=\"display: block;\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n" +
" <li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" ng-mouseenter=\"selectActive($index)\" ng-click=\"selectMatch($index)\" role=\"option\" id=\"{{::match.id}}\">\n" +
" <div typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n" +
" </li>\n" +
"FOOTER" +
"</ul>\n" +
"");
}]);
它有点脏,看起来像是一个很好的未来功能,但它现在有效。