Angular JS:在ng-click上更改$ location Params

时间:2015-11-03 22:50:33

标签: javascript angularjs

我目前在我的应用中使用$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>

因此,当点击两个按钮时,查询会自行链接,并且网址会转换为:app.com/movies?genre=horror&year=2012,例如。

$location这可能吗?我是否以正确的方式解决这个问题?

感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

搜索功能既是getter又是setter。你可以,例如将$ location放在$ scope中,然后像这样使用它:

<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(){...}