2015-11-03 2 views
1

В настоящее время я использую $location в своем приложении, поэтому я могу отправить параметры из адресной строки в мой $http запрос GET. Как так:

var params = $location.search(); 
$http.get(url, params).then(function(){ 
    ... 
} 

Можно ли добавить атрибут ng-click на элемент, на мой взгляд, так что я могу передать параметры в адресной строке, так что я могу фильтровать мой запрос GET?

Что-то вроде этого:

<div ng-click="genre=romance">Romance</div> 
<div ng-click="genre=horror">Horror</div> 

<div ng-click="year=2012">2012</div> 
<div ng-click="year=2011">2011</div> 

Так что, когда две кнопки щелкают запросы приковывали себя и URL превращается в: app.com/movies?genre=horror&year=2012, например.

Возможно ли это с $location, и собираюсь ли я это сделать правильно?

Любая помощь приветствуется. Заранее спасибо!

ответ

1

Функция поиска - это как приемник, так и сеттер. Вы можете, например, поставил $ местоположение в $ объеме, а затем использовать его как это:

<div ng-click="$location.search('genre','romance')">Romance</div> 
<div ng-click="$location.search('genre','horror')">Horror</div> 
<div ng-click="$location.search('year','2012')">2012</div> 
<div ng-click="$location.search('year','2011')">2011</div> 

И изменить $ http.get:

$http.get($location.absUrl()).then(function(){...} 
Смежные вопросы