Я использую директиву Angular UI Bootstrap typeahead для проекта, и я хочу перенаправить на динамический URL-адрес на основе того, что выбрано в typeahead. Я пытаюсь использовать typeahead в качестве окна поиска.Переадресация на ссылку с использованием Angular UI Directive Typeahead
Я просмотрел документацию (пытается RTFM), поэтому я знаю, что есть атрибут typeaheadOnSelect
, который я могу использовать, но я не уверен, как связать это с ссылкой. Я использую JSON-файл объектов, и каждый объект имеет определенный ID. Я надеялся, чтобы иметь возможность связать непосредственно в машинописном атрибута следующим образом:
<div class='container-fluid' ng-controller="TypeaheadCtrl">
<input type="text" id="search" ng-model="selectedPerson" typeahead="person as person.name for person in person | filter:$viewValue" typeahead-min-length="3" typeaheadOnSelect="#/100_Ages/{{person.id}}" ng-init="" />
</div>
Но это не сработало. Я думаю, для этого мне нужен специальный контроллер, но я не уверен. Директива typeahead работает так хорошо, поэтому я думаю, что есть простое решение, но я не могу его найти.
Сейчас мой контроллер для этого машинописного выглядит следующим образом:
function TypeaheadCtrl($scope, $http) {
$http.get('person.json').success(function(data) {
$scope.person = data;
});
}
This plunkr показывает все в действии. Мой маршрутизатор для этого проекта является настройка с использованием динамического URL на основе каждого идентификатора JSON, например, так:
angular.module('app', ['ui.bootstrap']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/app/:personId', {templateUrl: 'partials/person.html', controller: DetailCtrl}).
}]);
Удивительный, спасибо. Это почти есть, но он пытается выбрать кого-то, прежде чем typeahead может даже представить список вариантов выпадающего списка. В идеале, я бы хотел, чтобы он показывал все варианты, доступные для этого поиска, затем они выбирают один, затем перенаправляют. Это возможно? – xEmptyCanx
Попробуйте обновленный подход. Он должен решить вашу проблему. –
Это намного ближе. Ссылка перенаправляется, но она направляется на домашнюю страницу проектов (у которой есть ссылка 100_Ages/0 как возможность маршрута для того, чтобы кто-то прокручивал назад на странице первого лица). [Вот размещенная версия сайта] (http://bengal.missouri.edu/~wjg2q2/100_ages/app/#/100_Ages/1), поэтому вы можете видеть, что я имею в виду. Нажмите на увеличительное стекло, чтобы вызвать поиск. Если вы проверите его, когда кто-то будет выделен, вы увидите индекс табуляции «-1» в ссылке. Я думаю, что это источник проблемы, но я не уверен, почему это произойдет. Спасибо за помощь! – xEmptyCanx