过滤' ng-repeat'基于URL参数

时间:2016-08-21 14:49:37

标签: javascript angularjs angularjs-ng-repeat

我想根据网址

中的参数过滤ng-repeat

说这是网址 -

http://sitename/pagename.aspx?Id=27

所以在这里我想过滤Id。 像 -

ng-repeat="oneItem in listOfItems | filter : 27"

因此,数字27将从URL

动态获取

帮助我和这些家伙,Lemme知道你是否需要更多信息.. :)

1 个答案:

答案 0 :(得分:2)

我假设您没有使用ng-routerui-router

过滤前端的东西是一种不好的做法。相反,您应该将ID发送到您的后端并返回正确的结果。然后,你可以简单地做:

 ng-repeat="oneItem in listOfItems"

您可以通过更改返回结果的方法来执行此操作,该结果随后分配给listOfItems

您可以通过以下方式从网址获取ID:

var url = window.location.href;
$scope.productId = url.split("=")[1]  // this assumes that url is exactly like you wrote

然后,将其添加到您的$http获取请求中,并从后端获取数据。

如果您仍坚持在前端执行此操作,请执行以下操作:

ng-repeat="oneItem in listOfItems | filter : {id: productId}"  // this assumes that oneItem object has property of id

希望它有所帮助!