ここに作業中の plunkr があります: plunkrは、提案の先行入力リストにアイテムを追加するフィルターを定義して使用します。プロジェクトに取り込もうとすると、フィルターの周りでエラーがスローされます。これが私のコードです:
html:
<div class="input-group" ng-controller="TypeaheadCtrl">
<input type="text" ng-model="search" placeholder="Search for vendors or products" class="form-control"
ng-bind-html="match.label | typeaheadHighlight:query"
typeahead="product for product in getProductSuggestions($viewValue) | filter:$viewValue | finalAppend:$viewValue">
脚本:
var app = angular.module('clientApp')
app.controller('TypeaheadCtrl', function ($scope, $http, StateService) {
$scope.getProductSuggestions = function(val) {
return $http.get(StateService.getServerAddress() + "search/autocomplete?q=" + val
).then(function(response){
return response.data.products;
});
};
})
app.filter('finalAppend', function($sce){
return function(array, value){
array.push( // error: undefined is not a function!
$sce.trustAsHtml('Look for <b>' + value + '</b> in other shops')
);
return array;
}
})
前もって感謝します。
編集:最後にフィルターを取り除き、結果を返すときにプロミス自体に最後のものを追加しています。