Angular JS:点击时更改$location参数

Angular JS: Change $location Params on ng-click

本文关键字:location 参数 JS Angular      更新时间:2023-09-26

我目前正在应用程序中使用$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可能做到这一点吗?我是否以正确的方式进行这项工作?

感谢您的帮助。提前感谢!

Search函数既是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(){...}